多的不说直接上代码去对比区别
let arr = [1,2,3,4,5,6,7,8]
// forEach 是一个回调函数 三个参数
let res = arr.forEach((item , index , arr)=>{
console.log(item); // 数组中的值
console.log(index); // 数组的角标
console.log(arr); // 原数组
item *= 2 // forEach 方法不能改变原数组
arr[0] = 10 // 这个方法改变了原数组
return index *= 2 // forEach并且没有返回值
})
console.log(res);
console.log(arr);
let res = arr.map((item , index , arr)=>{
console.log(item); // 数组中的值
console.log(index); // 数组的角标
console.log(arr); // 原数组
item *= 2 // map方法不能改变原数组
arr[0] = 10 // 这个方法改变了原数组
return index *= 2 // map有返回值
})
console.log(res);
console.log(arr);
forEach方法不会返回 map有返回值 会开辟一个新的内存空间