forEach()与map()都是ECMAScript5中遍历的数组方法,它们在实际开发中会大量用到;那它们到底有着怎样的区别呢?一块儿来来看吧!javascript
forEach()
经过数组中的元素进行遍历迭代;对数组中的每一个元素调用一次提供的回调函数.java
该回调函数接受三个参数:数组
let arr = [3, 6, 8, 9];
let res = arr.forEach((item, index) => {
return arr[index] = item * 2;
});
console.log(res); // undefined 注意:返回值是undefined
console.log(arr); // [6, 12, 16, 18] 注意:这里的原数组已经发生改变
复制代码
map()
依次为数组中的每一个元素调用提供的回调函数,而后从结果中构造一个新数组.函数
该回调函数接受三个参数:ui
let arr = [1, 3, 6];
let res = arr.map((item) => {
return item * 3;
});
console.log(res); // [3, 9, 18]
console.log(arr); // [1, 3, 6] 注意:原数组未发生改变
复制代码
主要区别:spa