Через несколько часов я натолкнулся на недоумение - интересно, может ли новичок-разработчик просто просмотреть нижеприведенный код, чтобы упростить решение проблемы?
Я фильтрую значение свойства вмассив объектов и перекрестная ссылка на это свойство с массивом, имеющим совпадающие ключи, и логические значения, чтобы контролировать, должно ли оно учитываться в фильтре.
Однако мой результат возвращает все 3 объекта, несмотря на консоль.журнал вроде бы правильно оценил.Есть идеи?
Большое спасибо ...
var data = [{
"id": 1,
"status": "new",
},
{
"id": 2,
"status": "rejected",
},
{
"id": 3,
"status": "changed",
}
];
var filter = {
"new": true,
"rejected": false,
"changed": true
}
var result = data.filter(function(item) {
var arr = [];
Object.keys(filter).forEach(function(key) {
if (item.status === key && filter[key] === true) {
console.log('---')
console.log('item.status', item.status)
console.log('key', key)
console.log('filter[key]', filter[key])
console.log('---')
arr.push(item);
}
});
return arr;
});