一.
1. for(let I = 0; I < arr.length; I++)
while
2. arr.forEach() -->代替普通for循环
-
三个参数:val当前遍历到的数据,index当前遍历到的数据的序号,arr当前遍历的数组
作者:祝名
链接:www.jianshu.com/p/3b7ccd380…
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
3. arr.map()-->做数据交互“映射”
(1)返回的是个新的数组,map()方法不会改变原数组,需要配合return,return的值会将原数组中的对应值替换掉 。
(2)平时只要用map,一定要有return
(3)若是没有return,相当于forEach()
4. arr.filter()-->过滤
(1) filter方法的return只有两种情况,true/false;如果返回true就保留这个数据,如果返回false,就删除这个数据。也是返回新数组,不改变原数组。
(2)过滤一些不合格“元素”,如果回调函数返回true,就留下来
5. arr.some()-->类似查找,数组里面某一个元素符合条件,返回true
- findInArray函数封装
6. arr.every()-->数组里面所有的元素都要符合条件,才返回true
eg:判断数组内部是否都为奇数
7. 以上五种循环方法,都可以接收两个参数
arr.forEach/map...(循环回调函数,this指向谁)
二. 内部参数更复杂一些的循环方法
1. arr.reduce()-->从左往右
(1)求数组的和
(2)求次方
2. arr.reduceRight()-->从右往左
三.for...of...
- arr.keys() 数组下标
arr.entries() 数组某一项