js中 map 遍历数组 | 您所在的位置:网站首页 › map返回新数组吗 › js中 map 遍历数组 |
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] |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |