遍历数组的几种方法

205 阅读2分钟

let arr = [ 'a', 'b', 'c', 'a' ]

1. indexOf()  

遍历数组,返回元素在数组中第一次出现的下标

里面接收2个参数.参数1是要查找的元素,参数2是开始查找的下标

arr.indexOf( 'a',1 )  // 3

查找字符串a在数组里第一次出现时的下标,从数组的下标1开始查找,第一次出现时为下标3。

2. forEach()

遍历数组获取每一个元素,没有返回值

参数为一个函数,函数的形参1代表数组元素,形参2代表元素下标

arr.forEach(function( item, index){ })

3. map()

遍历数组,返回一个新数组,数组由参数里的返回值组成.必须使用return

参数为一个函数,函数的形参1代表数组元素,形参2代表元素下标

image.png

4. filter()

遍历数组,返回一个新数组:新数组由参数里,条件为true的元素组成.

参数为一个函数,函数的形参1代表数组元素,形参2代表元素下标。

image.png

5. some()

遍历数组,返回参数函数里符合条件的元素,只要检测到有一个元素符合条件就return.

参数为一个函数,函数的形参1代表数组元素,形参2代表元素下标。

image.png

应用: 遍历购物车,判断商品id是否在购物车里存在,没有就加入id,有就增加数量。

6. every()

遍历数组,判断数组元素是否全部符合函数参数里的条件,全部满足返回true,否则false.

参数为一个函数,函数的形参1代表数组元素,形参2代表元素下标。

image.png

应用:全选功能,只要有一个没有被选中,就取消全选按钮的选中状态。

7. reduce()

遍历数组, 返回参数函数里的返回值.一般作为累加器计算总价 情况1.只有一个函数作为参数1时,函数的形参1代表数组的第一个元素,形参2代表剩余所有元素

image.png

情况2.参数1是一个函数,参数2代表函数的形参1的值,此时函数的形参2就代表数组所有元素

image.png

8. for of 遍历数组/字符串

image.png