【JS】forEach 和 Map 的区别和用法

发布于:2023-01-12 ⋅ 阅读:(416) ⋅ 点赞:(0)

forEach 和 Map 的区别和用法

forEach 和 Map的用法

两者的用法基本一致,循环遍历数组

forEach 和 Map的区别

forEach没有返回值,返回结果为undefined

      let arr = ['a', 'b', 'c', 'd']
      let myarr = arr.forEach((item,index,arr) => {
        console.log('arr['+ index + ']=' + item) 
      })
      console.log(arr);

在这里插入图片描述

Map有返回值

      let arr = ['a', 'b', 'c', 'd']
      let myarr = arr.map((item,index,arr) => {
        console.log('arr['+ index + ']=' + item) 
      })
      console.log(arr);

在这里插入图片描述

总结:map相当于把原数组克隆一份进行修改,forEach直接在原数组上修改

如何修改原数组的值

错误写法

      let arr = ['a', 'b', 'c', 'd']
      let myarr = arr.forEach((item,index,array) => {
        item = item + 'k'
        console.log('arr['+ index + ']=' + item) 
      })
      console.log(arr);

在这里插入图片描述

正确写法

      let arr = ['a', 'b', 'c', 'd']
      let myarr = arr.forEach((item,index,array) => {
         array[2] = 's'
        console.log('arr['+ index + ']=' + item) 
      })
      console.log(arr);

在这里插入图片描述

通过下标索引修改每一项的值来实现数组的修改

forEach 和 Map都用不了continue

在这里插入图片描述

这里通过if和return来实现continue

      let arr = ['a', 'b', 'c', 'd']
      let myarr = arr.forEach((item,index,array) => {
        if(item == 'b') {return};
        console.log('arr['+ index + ']=' + item) 
      })
      console.log(arr);

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到