数组遍历的方法集锦

本文介绍了数组遍历的多种方法,包括for循环、map、forEach、every、some、filter、find、findIndex以及reduce。详细阐述了每种方法的特点和用法,如find返回符合条件的第一个元素,reduce用于累积计算并返回单一值。对于reduce方法,文章指出需要更深入研究其工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般我们拿到数组,想到的第一件事情肯定是遍历,那么我们就来总结一下,数组遍历一共有多少种方法?
首先我们来例举一下遍历数组的方法:for循环,map, forEach,every, some,filter,include
在这里插入图片描述
find 找出数组中符合条件的首个元素,即便是有多个元素符合条件,也只会返回第一个符合条件的元素。没有符合条件的就返回undefine
在这里插入图片描述
findIndex跟find的方法类似,只是findIndex返回的是数组的索引值,没有符合条件的就返回-1
find回调函数的入参是value, index, arr
value 必填,当前元素
index 非必填,当前元素的索引
arr 非必填,原数组
在这里插入图片描述
forEach 就跟for循环类似, 没有返回值,回调函数也是三个入参,跟find的回调函数入参一样
forEach是不能通过break或者continue来实现跳出函数的。因为foreach里面的回调函数形成了一个作用域,那么我们可以使用try catch
在这里插入图片描述
利用try catch跳出
在这里插入图片描述
利用break或者continue会报一个语法错误。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
some 返回值为布尔值,如果有一个元素符合条件,就返回true,如果没有一个元素满足,就返回false
every 跟some类似,返回值也是布尔值,但是是所有元素都符合条件就返回true,只要有一个元素不符合条件,就返回false
他们的回调函数跟foreach一致的。
在这里插入图片描述
在这里插入图片描述
map 返回一个新的数组,新的数组是被在回调函数里面处理后的新的数组。返回的顺序跟原数组的顺序一致。注意:不会对空数组做处理
在这里插入图片描述
filter返回一个新的函数,返回的是满足条件的新数组,可能跟原数组的长度不一致。filter不会改变原数组。

在这里插入图片描述

includes 数组是不是包含某个元素,返回布尔值true/false
在这里插入图片描述
reduce 返回一个单个返回值

Array.reduce((acc, cur, idx, src) => {}, initialValue)

callback回调函数接收4个参数:
Accumulator (acc) (累计器) 如果传入了initialValue,Accumulator的初始值就是initialValue,没传入就是数组的第一个值,是操作后的结果
Current Value (cur) (当前值)
Current Index (idx) (当前索引)如果传入了initialValue,索引从0开始,没传入从1开始
Source Array (src) (源数组)
initialValue 指定的初始值,初始值可以是数字,数组,对象
在这里插入图片描述
没有传入initialValue
在这里插入图片描述
如何让使用
在这里插入图片描述

在这里插入图片描述
reduce学的还不是透彻,需要继续深入研究,下次有机会再分享。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值