数组遍历(让你分清每一个遍历)

这些遍历方法在实际开发中非常常见,具体使用哪种方法取决于您需要实现的功能和性能需求。 

方法说明优点
forEach遍历数组中的每一个元素并执行指定的回调函数简单易用,语法简洁。无需定义循环变量和索引,可以在回调函数中直接操作数组元素。
map遍历数组中的每一个元素并根据自定义函数生成新数组返回新数组,不会影响原数组。适合快速处理数据并返回新的转换后的数组
filter遍历数组中的每一个元素并根据条件筛选生成新数组返回满足条件的所有元素组成的数组。可作为过滤、查找、筛选等功能的实现;
reduce遍历数组中的每一个元素并执行聚合计算将数组中所有元素组合为单个值(如求和、累加、最大值等),具有高度的灵活性和适应性,并且容错能力强
find遍历数组中的每一个元素并查找符合条件的第一个元素用于查找元素时可以提前停止循环,减少性能浪费
some遍历数组中的每一个元素并判断满足任意一个条件在对高性能、实时响应的业务场景,可以有效减少不必要的循环次数。
every遍历数组中的每一个元素并判断所有元素满足条件如果多个元素符合某种特定规则或格式,可能需要将其全部验证才能通过,这时使用 every 合适
for...in循环用于遍历对象属性及其原型链中所有可枚举的属性,而不是数组本身对于遍历已知长度较小且无嵌套层数数组可以使用 for...in 语法,语法类似于 forEach 但执行速度更快
for...of循环可以遍历迭代器对象、字符串、Map 和 Set、数组等集合对象具有非常强的通用性和灵活性,并且具有“支持异步”的优点。再加上一些兼容性方案的帮助,会成为未来 DOM 操作的重点操作


方法语法
for 循环for (let i = 0; i < arr.length; i++) {...}
forEach()arr.forEach((item, index) => {...})
map()const newArr = arr.map((item, index) => {...})
filter()const newArr = arr.filter((item, index) => {...})
reduce()const result = arr.reduce((accumulator, item, index) => {...}, initialValue)
some()arr.some((item, index) => {...})
every()arr.every((item, index) => {...})

除了上述方法外,ES6 还提供了一个 for...of 循环,可以使用它来方便地遍历数组。这种方法类似于 for 循环,但具有更少的代码和更直观的语法。

以下是示例:

for (const item of arr) { console.log(item); }

希望这篇博客对您有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值