在ES6中新增了很多对数组操作的快捷方法,新的方法高效、好用,不用什么都是for循环,代码更加优雅,但是初学的时候有点头大,感觉所有方法都很像,不清楚具体使用的区别在哪,专门总结一下。
#### 1、forEach 没有返回值,只是让数组中的每个元素执行function的操作
let arr = [1,2,3,4,5];
arr.forEach((item,index)=>{
console.log(item * 2); //2,4,6,8,10
})
2、find 返回数组中第一个满足条件的元素(查找)
let arr = [1,2,3,4,5];
arr.find((item,index)=>{
return item > 3; //4
})
3、map 返回一个新数组,数组中的每个元素为调用function的结果
let arr = [1,2,3,4,5];
arr.map((item,index)=>{
return item * 2; //[2,4,6,8,10]
})
4、filter 返回一个符合function条件的元素数组(过滤)
let arr = [1,2,3,4,5];
arr.filter((item,index)=>{
return item > 3; //[4,5]
})
5、reduce 让数组中的前项和后项做某种运算,返回累计的最终值
let arr = [1,2,3,4,5];
arr.reduce((prev,next)=>{
return prev + next; //15
})
6、every 返回一个Boolean值,判断数组中每一个元素是否符合function的条件
let arr = [1,2,3,4,5];
arr.every((item,index)=>{
return item > 0; //true(所有元素都满足才为true)
})
7、some 返回一个Boolean值,判断数组中是否有元素符合function的条件
let arr = [1,2,3,4,5];
arr.some((item,index)=>{
return item > 4; //true(只要有一个满足即可)
})

