在 JavaScript 中使用多个条件过滤数组
要使用多个条件过滤数组:
-
使用
Array.filter()
方法迭代数组。 -
使用逻辑 AND
&&
运算符检查多个条件。 -
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()
方法返回这两个条件。
相关文章
使用 CSS 和 JavaScript 制作文本闪烁
发布时间:2023/04/28 浏览次数:146 分类:CSS
-
本文提供了使用 CSS、JavaScript 和 jQuery 使文本闪烁的详细说明。
在 PHP 变量中存储 Div Id 并将其传递给 JavaScript
发布时间:2023/03/29 浏览次数:69 分类:PHP
-
本文教导将 div id 存储在 PHP 变量中并将其传递给 JavaScript 代码。
在 JavaScript 中从字符串中获取第一个字符
发布时间:2023/03/24 浏览次数:93 分类:JavaScript
-
在本文中,我们将看到如何使用 JavaScript 中的内置方法获取字符串的第一个字符。
在 JavaScript 中获取字符串的最后一个字符
发布时间:2023/03/24 浏览次数:141 分类:JavaScript
-
本教程展示了在 javascript 中获取字符串最后一个字符的方法