03 ES6中的数组循环

207 阅读1分钟

首先,再讲ES6中的数组循环前,我们先回忆一下ES5中的循环.

A、ES5中的循环:

image.png

B、数组新增的一些循环

一共有八种 forEach /map /some /every /for...of... /filter /reduce /reduceRight

首先,语法的话基本上都是一致的.

image.png

参数:

循环里面执行的回调函数,循环调用执行的语句 (略)

参数:this 的指向[可选项]

循环中回调函数的参数有三个:

第一个参数:循环出来的值 val

第二个参数:循环出来的值的索引 index

第三个参数:数组本身 arr

1、forEach()

image.png

forEach箭头函数

image.png

2、arr.map() important

正常情况下,需要配合 return,返回是一个新的数

组 若是没有 return,相当于 forEach

注意:平时只要用 map,一定是要有 return

(1)无返回值

image.png

(2)有返回值

image.png

3、filter()

用来过滤一些不合格的元素,如果回调函数返回的是 true,那么自然会被留下来,为 false 的就会被过滤掉

image.png

4、some()

查找一个字符串存在不存在

image.png

5、every()

查找数组中的每一项,所有元素都要符合条件,才返回 true

image.png

6、reduce()

从左往右运算→求数组的和、差、积、阶乘

image.png

7、reduceRight()

从右往左运算← 上面这两种方法可以用来求数组的和、阶乘、幂运算;接受 4 个函数参数

image.png

image.png

8、 for...of...

arr.keys() 数组下标

arr.entries() 数组某一项

image.png