ES2015的循环:
1 for(){}
2 while
3 arr. forEach(function(val, index, arr){})
// 其实就是用来代替for循环
4 arr.map()
做数据交互映射。正常配合return,返回一个新数组。如果没有 return 则相当于foreach
平时使用map,一定要有return,可以 重新整理解构
5 arr.filter()
过滤循环,循环过滤掉一些没用的元素。return 返回符合判断条件的元素
6 arr.some()
类似比对,查找的循环。如果有符合判断条件的元素返回true,没有则返回false
7 arr. every()
跟some不同的是,这个必须要所有元素都符合判断条件,才会返回true,可以做数组之间的对比 3,4,5,6,7循环的用法是一致的,也就是说回调函数里的参数一样。val =当前循环的值,index =当前循环值的下标,arr =循环体
8 arr. reduce(function(prev, cur, index, arr){}) //prev 前一个元素 cur 后一个元素 index 当前元素下标 arr 当前数组
用的很少,求和&阶乘啊可以用到(穿插个ES2017的运算符 幂 Math.pow(2,3))2的3次方
![44d4990b20bdccc13ee14d604f9ab50c.png](https://i-blog.csdnimg.cn/blog_migrate/dea9f5dd8cdc5f02c65eec4b0cc444d5.png)
9 arr. reduceRight()
和reduce一样,只是顺序不一样。
ES6 新增循环
for ...of...
![bb3fd0dcd22192a8cd2fcb5bccd80423.png](https://i-blog.csdnimg.cn/blog_migrate/3ca9b325a1619023d24608a8c5c320d0.jpeg)
![e18bf02e5e469688f03d5320b3143ae9.png](https://i-blog.csdnimg.cn/blog_migrate/5898b8e46a320ceac799726a66bd2103.png)
这里说一下,用数组循环的话,利用到数组的新特性
arr.keys() // 循环获取数组下标
arr.entries() // 获取某一项