一、相同点
- 都是循环遍历数组中的每一项。
- 每次执行匿名函数都支持三个参数,参数分别为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);