码迷,mamicode.com
首页 > Web开发 > 详细

js函数之map与reduce

时间:2017-07-20 12:48:48      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:表示   ret   函数   script   turn   val   llb   red   包括   

  最近逛freecode看到了这两个数组的方法,傻傻的理不清,赶紧总结一波。

  map(callback)函数会迭代数组中的所有元素,并根据callback进行处理,最后会返回一个新数组。而回调函数callback支持多个参数包括元素的值val,数组arr以及数组下标index。

  比如我们如果要将数组的每一项平方,就可以用如下代码实现:

var arr = [1,2,3];
var after = arr.map(function(val){
	return val*val;
})

  并且如果我们console.log(arr)会发现arr没有改变,这也证实了map方法不会改变原数组。

  

 reduce(function(previousVal, currentVal){},[origin])相比而言看起来比较复杂,并且特殊的是它还有一个可选的参数。其实orgin表示的是previousVal的初值,而previousVal就相当于一个累加器,currentVal表示数组的当前值。若不设置origin的值,previousVal就为数组第一项的值。反之previousVal为origin的值

  如果我们要将数组所有项累加,除了用for循环我们还可以使用reduce函数。

var arr = [1,3,4,5];
arr.reduce(fucntion(previousVal,currentVal){
    return previousVal+currentVal;
});

   

js函数之map与reduce

标签:表示   ret   函数   script   turn   val   llb   red   包括   

原文地址:http://www.cnblogs.com/yuehenying/p/7210498.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!