相同点
1.两个函数都是for循环的包装
2.都包含value、index、arr三个参数
不同点
有无返回值:
map有返回值, map会分配内存空间存储新数组并返回。
forEach没有返回值,返回undefinded.
是否可以改变原数组:
map不会改变原数组
forEach可以改变原数组,在函数体当中。arr[index]++.
性能:
map比forEach更快
var arr = [1, 2, 3, 4]
var list = [1, 2, 3, 4]
var arr1 = arr.forEach((value, index, arr) => { arr[index]++ })
console.log(arr);//2,3,4,5
console.log(arr1);//undefined
var list1 = list.map((value) => { return value++ })
console.list(arr);//1234
console.log(list1);//2345