一、相同点
- 都是循环遍历数组中的每一项。
- 每次执行匿名函数都支持三个参数,参数分别为item(当前每一项),index(索引值),arr(原数组)。
- 匿名函数中的this都是指向window。
- 只能遍历数组
二、区别
2.1 forEach
- 没有返回值
- 不能break打断
- 遍历的是value
- 会改变原数组
示例代码
let arr=['a','b','c']
let res = arr.forEach(item=>{
console.log(item);
return item + '1'
})
console.log(res);
2.2 map
- 有返回值 (数组) 默认return是undefined
- 接受的参数是一个函数(key,value),如果只写一个形参,这个形参会是数组的value值
- 不能break打断
- 不会改变原数组
示例代码
let arr=['a','b','c']
let res = arr.map((value,key)=>{
return value+'1'
})
console.log(res);

本文对比了JavaScript中两种常见的数组遍历方法——forEach和map。它们的共同点在于都能遍历数组,传入匿名函数并访问元素。但forEach无返回值,不能中断,会改变原数组;而map有返回值(新数组),不能中断,不改变原数组。示例代码展示了它们的具体用法。

被折叠的 条评论
为什么被折叠?



