Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   реализация Array.filter для объектов: (https://javascript.ru/forum/misc/75856-realizaciya-array-filter-dlya-obektov.html)

Marson 15.11.2018 22:59

Какое нужно условие в if добавить, что бы вернуло
{
    ram: 2,
    color: "black",
}


var phone = {
    brand: "meizu",
    model: "m2",
    ram: 2,
    color: "black"
};

function filter(object, callback){
  for(var key in object){
    if(){
      delete object[key];
    }
  }
  return object;
}

filter(phone, function(key, value){
  return (key === 'ram' || value === 'black');
});

рони 15.11.2018 23:14

Marson,
var phone = {
    brand: "meizu",
    model: "m2",
    ram: 2,
    color: "black"
};

function filter(object, callback){
  for(var key in object){
    callback(key, object[key]) || delete object[key];
  }
  return object;
}

filter(phone, function(key, value){
  return (key === 'ram' || value === 'black');
});

alert(JSON.stringify(phone, null, 4));

рони 15.11.2018 23:25

Marson,
:-? :-? :-?
if(!callback(key, object[key]))

Marson 15.11.2018 23:29

Спасибо Рони, не знал, что можно в условие вставить !callback(..)


Часовой пояс GMT +3, время: 03:22.