forEach()和map()都是遍历数组的方法,用法类似,但是还是有很大区别:

相同点:
      1.都是循环遍历数组中的每一项;
      2.在遍历中执行匿名函数都可以接收三个参数,分别为:遍历过程的每一项、遍历序号(索引值)、原数组;
      3.执行的匿名函数中 的this都指向window。
  不同点:
      map():
      根据遍历执行的匿名函数,对于原数组中的每个值产生一个对应的值,并返回一个新的数组,存在一个映射关系,并且不会改变原数组,不会对空数组进行检测。

var arr = [0,1,2,3,4];
var str = arr.map(function(i,index,arr){console.log(this);return ++i;
},this);
console.log(str);  //结果为 [1,2,3,4,5]

forEach():只是按照顺序把数组中的元素传递给forEach中的匿名函数使用,对于空数组则不会调用到匿名函数。

var arr = [0,1,2,3,4];
var sum = 0;
var str = arr.forEach(function(i,index,arr){sum += i;console.log("sum的值为:",sum);
})   //执行5次,最终结果 10

**

js中 map 遍历数组

**
map 方法会迭代数组中的每一个元素,并根据回调函数来处理每一个元素,最后返回一个新数组。注意,这个方法不会改变原始数组。

在我们的例子中,回调函数只有一个参数,即数组中元素的值 (val 参数) ,但其实,你的回调函数也可以支持多个参数,譬如:元素的索引index、原始数组arr。

例子:使用 map 方法来为 oldArray 中的每一项增加3,并且在 newArray 中保存它们。 oldArray 不应该被改变。

var oldArray = [1,2,3,4,5];var newArray = oldArray.map(function(w){  return w+3;});输出结果为:[4,5,6,7,8]

js中 map 遍历数组相关推荐

  1. js中php遍历数组,vue.js如何遍历数组

    vue.js遍历数组的方法:1.使用foreach循环,代码为[this.urls.forEach(item =>]:2.使用filter循环,代码为[return this.urls.filt ...

  2. JS中循环遍历数组的四种方式总结

    1.for 循环: for (let index=0; index < someArray.length; index++) {const elem = someArray[index];// ...

  3. JS中循环遍历数组的几种常用方式总结

    第一种:for循环,也是最常见的 最简单的一种,也是使用频率最高的一种,虽然性能不弱,但仍有优化空间 const arr = [11, 22, 33, 44, 55, 66, 77, 88]; for ...

  4. js中map遍历的三种方法

    1.forEach遍历: map.forEach((key,val)=>{...//操作 } key是属性值,val是属性 2.for of遍历: for(let item of map){.. ...

  5. 数组中map遍历会改变原数组吗?

    提到map用法,很多人想到forEach,那么这两种方法的区别是什么?会有人说,forEach会改变原数组:map不会改变原数组,返回一个新数组.事实是这样的吗?答案不是,这种说法不准确,是有条件的. ...

  6. JS中map()与forEach()的用法

    JS中map()与forEach()的用法 相同点: 1.都是循环遍历数组中的每一项 2.每次执行匿名函数都支持三个参数,参数分别为item(当前每一项),index(索引值),arr(原数组) 3. ...

  7. js中常用的数组和字符串方法

    一:js中常用的数组方法 <script>//函数声明式中的方法const arr=[1,3,6,9,15,19,16];//函数的所有方法 map(),reduce(),filter() ...

  8. js、jq遍历数组和对象

    js遍历数组 1.普通for循环 var arr = [1,4,45,34,12,45,56,8]; for ( var i = 0; i <arr.length; i++){console.l ...

  9. 总结JS中常用的数组的方法大全

    总结JS中常用的数组方法 JS中常用的数组方法总结 数组(Array)是一种复杂的数据类型,它属于Object(对象)类型,用来将一组数组合在一起,通过一个变量就可以访问一组数据.在使用数组时,经常会 ...

最新文章

  1. linux i18n修改,中文版英文版体现
  2. The Child and Sequence
  3. Spring Webflux –编写过滤器
  4. 一次mongoengine查询速度慢的优化
  5. centos下查看最大Socket连接数
  6. 成年人的21个规则,必须知道
  7. 在管家婆软件中项目管理教程
  8. matlab如何求无穷多项乘积的极限,求极限方法小结
  9. win10系统崩溃怎么修复
  10. DITHER 抖动算法
  11. NVIDIA Quadro专业图形显卡
  12. 持续集成与持续部署(五)01-TravisCI——使用简介-Travis CI 只支持 Github,提供的是持续集成服务 配置项目的.travis.yml文件
  13. File.separator 详解
  14. git Please tell me who you are解决方法
  15. 数字签名是什么?公钥和私钥是什么
  16. 静态HTML网页设计作品 代码质量好-上海介绍(5页) HTML+CSS+JavaScript(含源码)
  17. 2020校招薪酬大比拼
  18. U盘启动盘安装系统,使用Diskpart命令对磁盘进行分区
  19. Ubuntu-13.04-X86_64安装GT630驱动
  20. 应用Abaqus有限元软件中的cohesive单元模拟压头侵入地层随机断裂过程

热门文章

  1. 世界知识产权日测测你对数字版权的认知
  2. 从“数据合规官”到“安全岛”,将数据的安全合规进行到底
  3. vue产生二维码并且打包下载
  4. 2022年Q3咖啡行业数据分析(咖啡行业市场未来发展趋势)
  5. 同花顺快捷键以及使用方法
  6. 微服务(SpringCloud、Dubbo、Seata、Sentinel、SpringGateway)
  7. 任务驱动教学法在JAVA教学中的问题和策略
  8. Seek the Name, Seek the Fame(KMP-next数组详解)
  9. RationalDMIS 2020快速输出极半径和极角
  10. Java线程安全集合总结