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

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

过滤对象数组 - JavaScript

在 JavaScript 中,我们可以很容易地使用 filter 函数来过滤数组中的对象。这个函数接受一个回调函数作为参数,该回调函数应该返回一个布尔值。为 true 的元素将进入过滤后的新数组。

语法
const newArray = originalArray.filter(callback(item [, index [, array]])[, thisArg]);
  • newArray: 新的被过滤后的数组。
  • originalArray: 原始数组。
  • callback: 回调函数。接受三个参数:当前遍历的元素、该元素的索引、原始数组。
  • thisArg: 可选项。当执行回调函数时,用作 this 值的对象。
示例

如果我们有一个包含对象的数组,例如:

const users = [
  { name: 'John', age: 25, gender: 'male' },
  { name: 'Jane', age: 30, gender: 'female' },
  { name: 'Bob', age: 20, gender: 'male' },
  { name: 'Mary', age: 28, gender: 'female' },
];

我们想要过滤出年龄大于等于 25 岁的用户,我们可以这样写:

const filteredUsers = users.filter(user => user.age >= 25);

console.log(filteredUsers);
// Output: [{ name: 'John', age: 25, gender: 'male' }, { name: 'Jane', age: 30, gender: 'female' }, { name: 'Mary', age: 28, gender: 'female' }]

我们使用了一个箭头函数作为回调函数,该函数检查每个用户的年龄是否大于等于 25 岁。这个例子返回了一个新数组,其中有三个用户被过滤了。

结论

使用 filter 可以很方便地过滤出我们需要的对象数组。它能够极大地简化我们的编码工作,使我们的代码更加简洁易读。