1)forEach:不会改变原数组,没有返回值
三个参数,遍历值,索引值,数组本身
var arr=[1,2,3,4,5,6]
arr.forEach(item=>{
console.log(item);
//没有返回值
return item*2//undefined
})
2)map:不会改变原数组,有返回值
参数和forEach一样
var arr=[1,2,3,4,5,6]
const arrMap=arr.map(item=>{
console.log(item);
//没有返回值
return item*2
})
console.log(arrMap);//[2,4,6,8,10,12]
3)filter:过滤数组,有返回值,返回包含符合条件的元素的数组,不会改变原数组
参数和forEach一致
var arr=[1,2,3,4,5,6]
const arrFilter=arr.filter(item=>{
console.log(item);
//没有返回值
return item<5
})
console.log(arrFilter);//[1,2,3,4]
4)for…of…:返回的是数组的元素,对象的属性值,不能遍历普通对象
var arr =[1,2,3,4,5]
for(let value of arr){
console.log(value);//返回键值
}
5)reduce:接收一个函数,作为一个累加器,不改变原数组
函数有四个参数,但是两个参数最为常用,而且必须写,第一个返回计算之后的值或者初始值,第二个为当前元素
var arr=[1,2,3,4]
var arrReduce=arr.reduce((pre,item)=>{
return pre+item
},0)//此处0为第一个参数的初始值
console.log(arrReduce);//10