📅  最后修改于: 2023-12-03 15:16:12.327000             🧑  作者: Mango
在Javascript中,我们可以使用数组来筛选对象数组。这在我们需要根据某个条件来过滤数组时非常实用。
在Javascript中,我们可以使用filter
方法来按数组过滤对象数组。它按照我们提供的回调函数返回值是否为true
或false
来判断是否保留该元素。
const input = [
{ name: "John", age: 25 },
{ name: "Jane", age: 30 },
{ name: "Jack", age: 20 },
];
const filters = ["John", 30];
const output = input.filter(item => {
// 判断是否包含指定名字
const containsName = filters.includes(item.name);
// 判断是否大于指定年龄
const isOlderThanAge = item.age > filters[1];
return containsName || isOlderThanAge;
});
console.log(output); // [{ name: "John", age: 25 }, { name: "Jane", age: 30 }]
上述代码中,我们使用includes
方法来判断数组filters
中是否包含当前遍历对象的name
属性,以及比较对象的age
属性是否大于数组filters
中的第二个元素。最终将满足条件的对象保留下来,组成一个新的数组返回。
在Javascript中,使用filter
方法按数组过滤对象数组是一种常用的方式,它可以根据我们提供的回调函数过滤出满足条件的元素,并返回一个新的数组。同时,我们可以使用includes
等数组方法来辅助完成筛选操作。