小编在介绍Javascript数组遍历时提过forEach方法与map方法,同样是遍历方法,这二者有什么区别呢?最大的区别就是forEach()方法没有返回值,只是遍历数组;map()方法有返回值,返回值用变量接收。forEach()方法适用于打印数组内容;map()方法适用于需要更改数组的场景。forEach()方法使用性能比map()方法性能好。具体内容请看本文。
1、返回值
forEach()方法没有返回值,只是遍历数组。
map()方法有返回值,返回值用变量接收,会返回数组的每一项,但不改变原数组,相当于返回原数组的一个修改过的副本。
2、改变原数组
forEach()方法不对原来数组进行修改,但是可以自己通过数组索引来修改原来的数组。
map()方法不会改变原始数组,不会对空数组进行检测。
3、使用场景
forEach()方法适用于打印数组内容。
map()方法适用于需要更改数组的场景。
4、使用性能:forEach()方法性能比map()方法性能好。
forEach()方法
var arr = [{name: 'llx',age: 18}];
arr.forEach((item,index)=>{
item.age += 1
})
console.log(arr)
// [{name: 'llx',age: 19}]map()方法
var arr = [{key:1,value:1},{key:2,value:2},{key:3,value:3}]
arr.map(item=>{
return item.value+1
})
// [2,3,4]以上就是js中forEach方法与map方法区别详解,希望能帮助你理解区别~



