经过测试主要两者主要区别在于数组使用forEach方法后返回undefined,而使用map方法后返回一个新的数组;
具体操作如下:首先定义一个数组,分别调用forEach方法与map方法:
<script>
var arr = [1,2,3,4,5,6];
console.log(arr.forEach((item)=>{}))
console.log(arr.map((item)=>{}))
</script>
执行结果如下:
n由此可见两者的直观上的差别;
在使用方面:
借助map方法返回新的数组这一特性我们可以对数组的操作实现链式写法,demo如下:
<script>
var arr = [1,2,3,4,5,6];
// 对数组的每一个原生+=1,并截取下标大于2的两个元素
var data = arr.map((item)=>{return item+1}).splice(2,2);
console.log(data)
</script>
执行结果如下:
ps:因个人主要接触react项目比较多,在开发过程中有遇到使用map处理数据时,未在回调函数中return,导致控制台提示发生,改用forEach后解决此现象,所以个人开发过程中多使用forEach做单纯的数据处理,使用map在回调中渲染dom;