var arr = [1,2,3,4,5,6]
1.forEach:不会改变原数组,没有返回值
console.log('----forEach----');
//三个参数,遍历值,索引值,数组本身
let resultFor=arr.forEach((item,index,arr)=>{
console.log(item);
console.log(index);
console.log(arr);
return index*2
})
2.map:不会改变原数组,有返回值
console.log('----map-----');
let resultMap=arr.map((item,index,arr)=>{
console.log(item);
console.log(index);
console.log(arr);
return index*2
})
console.log(resultMap);//[0,2,4,6,8,10]
console.log(resultFor);//undefine
3.filter:过滤数组,有返回值,返回包含符合条件的元素的数组
let resultFilter = arr.filter((item)=>{
console.log(item);
return item>3
})
console.log(resultFilter)//[4,5,6]
4.for...of:返回的是数组的元素,对象的 属性值,不能遍历普通的对象
for(let value of arr){
console.log(value);
}
5.reduce:接收一个函数,作为一个累加器
//函数有两个参数,第一个计算之后返回的值或者初始值,第二个当前的元素
let resultReduce = arr.reduce((pre,item)=>{
console.log("pre",pre);
console.log("item",item);
return pre+item
},0)
console.log(resulteReduce);