js面试总结(3)— forEach和map的区别

129 阅读1分钟

相同点

  1. 都可以循环遍历数组
  2. forEach和map方法里面每次执行的匿名函数都支持3个参数,分别是item(当前的每一项),index(索引值),arr(原数组)
  3. 匿名函数中的this都是指向window
  4. forEach()和map() 没有办法终止或跳出,除非抛出异常
  5. 都不会改变原数组

区别

  1. forEach()没有返回值,map()有返回值,返回一个新数组
var arr = [1, 2, 3, 4, 6, 7, 8, 9, 0]
var temp = arr.map((item, index) => {
    return item + 1
})

console.log(temp) // [2, 3, 4, 5, 7, 8, 9, 10, 1]
var arr = [1, 2, 3, 4, 6, 7, 8, 9, 0]
var temp = arr.forEach((item) => {
    console.log(item) // 依次打印每一项的值
})

console.log(temp)  // undefined