巧用 filter 方法实现数组的精准筛选
1、在对数组进行处理时,若数组中每一项均为独立的键值对对象,部分开发者习惯使用 forEach 逐一遍历并手动提取数据。然而这种方式无法自动构建新数组,最终结果通常为 undefined 或需额外维护临时数组,破坏了函数式编程的链式调用特性。相比之下,filter 方法专为筛选设计,能依据条件自动返回一个全新数组,既保证了原始数据的不可变性,又确保输出结构始终为数组,更契合现代前端开发的数据处理逻辑,建议作为首选方案。

2、除 filter 外,数组还提供 map、some、every 等常用迭代方法。需明确区分其行为差异:filter 返回满足条件的元素组成的新数组;map 则按规则转换每一项,生成等长的新数组;some 在任意一项满足条件时返回 true,every 则要求全部满足才返回 true——二者均仅返回布尔值,不具备构造筛选结果的能力,不可替代 filter 实现数据过滤功能。

3、filter 的基本语法为:const newArr = arr.filter((item, index, array) => { return 判定条件 })。其中 item 表示当前遍历元素,index 为索引(可选),array 为原数组(亦可选)。核心在于 return 后的表达式必须为真值(truthy)才能保留该项。该写法语义清晰、逻辑聚焦,无需手动 push 或 splice,显著提升代码可读性与维护性。











