📌  相关文章
📜  javascript 按数组过滤对象数组 - Javascript (1)

📅  最后修改于: 2023-12-03 15:16:12.327000             🧑  作者: Mango

Javascript 按数组过滤对象数组

在Javascript中,我们可以使用数组来筛选对象数组。这在我们需要根据某个条件来过滤数组时非常实用。

方法

在Javascript中,我们可以使用filter方法来按数组过滤对象数组。它按照我们提供的回调函数返回值是否为truefalse来判断是否保留该元素。

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等数组方法来辅助完成筛选操作。