JS多个条件筛选过滤数组(数组中包含对象、数组)
在JavaScript开发过程中,处理复杂的数据结构如数组中的对象或嵌套数组是常见的任务。有效地筛选和过滤这些数据对于构建动态网页和应用至关重要。本文将深入探讨如何使用多种方法对数组进行基于多个条件的筛选过滤,并特别关注数组中包含对象或数组的情况。
基本概念与作用说明
数组的过滤操作通常通过Array.prototype.filter()
方法实现,该方法创建一个新数组,其中所有元素都通过了由提供的函数执行的测试。这对于根据特定条件筛选出符合要求的数据项非常有用。当数组包含对象或者更复杂的嵌套数组时,需要结合更多高级技巧来完成筛选。
示例一:基础过滤
首先来看一个简单的例子,假设我们有一个对象数组,想要筛选出年龄大于18岁的人员信息。
const people = [
{
name: 'Alice', age: 23 },
{
name: 'Bob', age: 17 },
{
name: 'Charlie', age: 25 }
];
const adults = people.filter(person => person.age > 18);
示例二:多条件过滤
当需要同时满足多个条件时,可以简单地在回调函数中添加逻辑运算符。
const filteredPeople = people.filter(person => person.age > 18 && person.