码迷,mamicode.com
首页 > 其他好文 > 详细

reduce()方法

时间:2017-04-09 15:49:38      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:cal   元素   ack   init   概述   返回值   function   span   cti   

1、reduce()方法概述
  reduce方法有两个参数,第一个参数是一个callback,用于针对数组项的操作;第二个参数则是传入的初始值,
这个初始值用于单个数组项的操作。需要注意的是,reduce方法返回值并不是数组,而是形如初始值的经过叠加处理后的操作。

 1 /*
 2    数组元素求和 
 3 */
 4 var arr = [1, 2, 3, 4, 5];
 5 
 6 var reducer = function add(sum, num) { return sum + num; };
 7 
 8 var total = arr.reduce(reducer, 0);
 9 
10 console.log(total);

2、reduce()方法实现原理

 1 Array.prototype.reduce = function(callback,initialValue){
 2     var previous = initialValue,k = 0,length = this.length;
 3     if(typeof initialValue === "undefined"){
 4         previous = this[0];
 5         k = 1;
 6     }
 7     if(typeof callback === "function"){
 8         for(k; k < length; k++){
 9            previous = callback(previous, this[k], k, this);
10         }
11     }
12     return previous;
13 }

 

  

reduce()方法

标签:cal   元素   ack   init   概述   返回值   function   span   cti   

原文地址:http://www.cnblogs.com/guangyan/p/6684825.html

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