map()和forEach()的区别和使用方法

13 篇文章 1 订阅

forEach()

首先,了解forEach()的参数是一个回调函数,该函数有三个参数

                

 由上图可知:这三个参数item为数组的元素值,index为数组的下标,arr是数组本身


我们可以发现,forEach并不影响原数组,并且不会返回执行结果,接下来让我们来看看map


map()

map在写法上和forEach类似,参数所代表的含义也一样,接下来我们使用同样的代码,再运行一遍,只将forEach改为map

  <script>
    var arr = [1, 2, 3, 8, 2, 1]
    var list = arr.map((item, index, arr) => {
      return  item * 2
    })
    console.log(arr)
    console.log(list)

  </script>

 由上图可知,map不影响原数组,会分配内存空间用来存储新数组并返回

​​​​​​​map的结果是 执行函数返回的结果:

  <script>
       var arr=[1,4,2,11,6]
       let result=arr.map((item)=>item>4)
        console.log(result) //[false, false, false, true, true]
    </script>

总结

        相同点:map和forEach都不会影响原数组;它们的写法极为相似,回调函数的参数也是相同的。

        不同点:map分配内存空间存储新数组,并且返回,forEach不会返回执行结果,返回的是undefined

大多数情况下,forEach用的都比较多,那map的使用场景是什么样子的呢?

 在实战中服务器返回的数据,我们可能需要收集整合成一个对象,向服务器发请求,例如我们在修改一个表单数据的时候,点击保存,就要将我们整合的数据发送给服务器。为什么我们要重新整合数据才发给服务器?由于向服务器发送请求时,携带的参数格式是有要求的,我们需要整合起来符合携带参数的要求,此时我们就需要用到了“映射”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值