JS数组的方法有不少,下面就来讲一下数组迭代的六个方法:分别是forEach、map、filter、some、every,reduce;这些方法都结束两个参数:第一个参数:回调函数。回调函数里面有三个参数,item:数组的项,index:数组项的索引,all:当前要遍历的一整个数组(这三个参数可选),第二个参数:修改方法执行时的this指向,第二个参数可选;数组
数组循环,参数是一个回调函数;forEach方法不返回值,只是循环数组,跟for循环同样;forEach性能没有for高,可是它自己用起来很方便;bash
let ary=[1,2,3,4,5,6];
ary.forEach((item,index,all)=>{
//一些操做
})
复制代码
map方法参数也是一个回调函数,遍历数组每一项,通过回调函数中的语句操做后返回一个新数组,新数组长度和原数组同样;函数
let ary = [1,2,3,4];
ary.map(item=>item*2)//[2,3,6,8]
复制代码
数组过滤,参数是一个回调函数,返回一个符合回调函数条件的新数组性能
let ary = [1,2,3,4,5];
ary.filter(item=>item>2);//[3,4,5]
复制代码
遍历数组每一项,只要有一项知足回调函数要求就返回true,不然就返回falseui
let ary = [1,2,3,4];
let result = ary.some(item=>item>4);//true;
复制代码
遍历数组每一项,只要有一项不知足回调函数要求就返回false,所有知足才返回truethis
let ary = [2,4,6,8];
let result = ary.every(item=>item%2);//true;
复制代码
给一个初始值(可选),遍历数组,并累积每一项,最后返回一个结果spa
let ary = [1,2,3,4]
let result = ary.reduce((next,prev)=>{
return next+prev;
});//10
复制代码