首先,再讲ES6中的数组循环前,我们先回忆一下ES5中的循环.
A、ES5中的循环:
B、数组新增的一些循环
一共有八种 forEach /map /some /every /for...of... /filter /reduce /reduceRight
首先,语法的话基本上都是一致的.
参数:
循环里面执行的回调函数,循环调用执行的语句 (略)
参数:this 的指向[可选项]
循环中回调函数的参数有三个:
第一个参数:循环出来的值 val
第二个参数:循环出来的值的索引 index
第三个参数:数组本身 arr
1、forEach()
forEach箭头函数
2、arr.map() important
正常情况下,需要配合 return,返回是一个新的数
组 若是没有 return,相当于 forEach
注意:平时只要用 map,一定是要有 return
(1)无返回值
(2)有返回值
3、filter()
用来过滤一些不合格的元素,如果回调函数返回的是 true,那么自然会被留下来,为 false 的就会被过滤掉
4、some()
查找一个字符串存在不存在
5、every()
查找数组中的每一项,所有元素都要符合条件,才返回 true
6、reduce()
从左往右运算→求数组的和、差、积、阶乘
7、reduceRight()
从右往左运算← 上面这两种方法可以用来求数组的和、阶乘、幂运算;接受 4 个函数参数
8、 for...of...
arr.keys() 数组下标
arr.entries() 数组某一项