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