reduce()方法

Posted 光炎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了reduce()方法相关的知识,希望对你有一定的参考价值。

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()方法的主要内容,如果未能解决你的问题,请参考以下文章

Javascript中内建函数reduce的应用详解

reduce()方法详解

JavaScript 基于reduce方法实现数组内对象的同属性运算

JavaScript 基于reduce方法实现数组内对象的同属性运算

reduce方法高级使用

JS reduce()方法详解,使用reduce数组去重