迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

在 JavaScript 中使用多个条件过滤数组

作者:迹忆客 最近更新:2023/01/19 浏览次数:

要使用多个条件过滤数组:

  1. 使用 Array.filter() 方法迭代数组。
  2. 使用逻辑 AND && 运算符检查多个条件。
  3. Array.filter() 方法将返回所有满足条件的元素。
const people = [
  {name: 'Adam', age: 30},
  {name: 'Bob', age: 40},
  {name: 'Carl', age: 30},
];

const results = people.filter(element => {
  // 👇️ using AND (&&) operator
  return element.age === 30 && element.name === 'Carl';
});

// 👉️ [ {name: 'Carl', age: 30} ]
console.log(results);

我们传递给 Array.filter() 方法的函数会被数组中的每个元素调用。

如果函数返回真值,则将相应的数组元素添加到结果数组中。

我们使用 &&(和)运算符检查多个条件。

如果两个条件都满足,该元素将仅添加到过滤后的数组中。

示例中的函数检查当前对象是否具有值为 30 的年龄属性和值为 Carl 的名称属性。

如果回调函数从不返回真值,则 Array.filter() 返回一个空数组。

如果我们需要过滤具有多个条件的数组,而只需满足一个条件,请使用 Array.filter() 方法和逻辑或 || 操作员。

const people = [
  {name: 'Adam', age: 30},
  {name: 'Bob', age: 40},
  {name: 'Carl', age: 30},
];

const results = people.filter(element => {
  // 👇️ using OR (||) operator
  return element.age === 40 || element.name === 'Carl';
});

// 👉️ [{name: 'Bob', age: 40}, {name: 'Carl', age: 30}]
console.log(results);

我们使用了逻辑或 || 运算符检查多个条件。

如果任一条件返回真值,则相应的元素将包含在结果数组中。

在代码示例中,我们检查属性年龄等于 40 的对象或属性名称等于 Carl 的对象。

数组中的 2 个元素至少满足 2 个条件中的一个,因此 Array.filter() 方法返回这两个条件。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便