【发布时间】:2018-10-03 11:46:52
【问题描述】:
我想用另一个对象数组过滤一个对象数组。该逻辑将用于按类别和颜色等进行产品搜索。这是我的主要数组:
products: [{
id: 1,
name: 'Product 1',
category: 'Home',
skill: 'Easy',
color: 'blue',
price: 100.00
}, {
id: 2,
name: 'Product 2',
category: 'Home',
skill: 'Intermediate',
color: 'red',
price: 120.00
}, {
id: 3,
name: 'Product 3',
category: 'Office',
skill: 'Intermediate',
color: 'green',
price: 190.00
}, {
id: 4,
name: 'Product 4',
category: 'Office',
skill: 'Advanced',
color: 'blue',
price: 260.00
}, {
id: 5,
name: 'Product 5',
category: 'Warehouse',
skill: 'Advanced',
color: 'white',
price: 321.00
}, {
id: 6,
name: 'Product 6',
category: 'Farm',
skill: 'Intermediate',
color: 'red',
price: 120.00
}, {
id: 7,
name: 'Product 7',
category: 'Space',
skill: 'Advanced',
color: 'green',
price: 150.00
}, {
id: 8,
name: 'Product 8',
category: 'Bathroom',
skill: 'Easy',
color: 'black',
price: 9.00
}]
我正在像这个数组一样动态创建过滤器。
预期结果是按多个选定的类别和颜色过滤产品数据。
我已经尝试了以下代码:
var filtered = [];
for(var arr in self.products){
for(var filter in self.selectedFilters){
if(self.products[arr].category == self.selectedFilters[filter].category && self.products[arr].color == self.selectedFilters[filter].color){
filtered.push(self.products[arr]);
}
}
}
console.log(filtered);
【问题讨论】:
-
有什么尝试?! ,给我们看一些代码
-
看看here,可能会给你一些想法。
-
对于 my-filter 中的 user_id 和 project_id 的每个组合,过滤来自 my-array 的元素。您可以将所有过滤结果推送到另一个变量。最后删除所有重复的元素。
标签: javascript arrays object filter lodash