数组的map和forEach用法和区别


我最近学习了数组的很多属性,然后就遇到了map和forEach这两个属性,现在捋一捋这两个属性的用法和区别

当用来遍历原数组时,这两个属性用法一模一样,但是遍历的数组元素不包括空元素 

运算结果5和7之间的空元素,打印a时并没有没打印出来,但是打的下标还是留了这个位置跳过去了,后面打印的数组也包含这个空元素

不同处:map有一个返回值,foreach则没有返回值,当函数的执行部分{  }什么都不写时,这个返回值是一个和原数组等长度的,全部由undefined组成的元素的新数组,而forEach仅仅是一个undefined

并且map的{ }里加其return 字符时,会返回与元素组等长度的由字符元素组成的数组,而forEach还是返回一个undefined

当return 后面返回的数组参数a时,就可以得到原来数组元素一模一样的一个新数组,forEach则不能

这样的话我们就可以对a操作,比如+10,那这样我们就得到比原数组每一个元素都大10的新数组;我们还可以*10,就得到元素大10倍的新数组等等

 

 

 

 我们还可以返回b,也就是下标

 

 得到的就是由元素组下标的10倍当作元素组成的新数组,这个新数组还是和原来数组一样长度

总结:map,forEach这两个用来遍历原来的数组时,用法结果一样,

但是map有一个返回值,这个返回值是一个和原数组长度相等的新数组;{ }里什么也不写的话,所有元素就都是undefined;{ }写了return,并且return后面的值就是新数组的元素,直接更改这个return后面的值,就可以得到我们需要的新数组


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM