Nodejs Array Reduce reduce(f, value)

Here you can find the source of reduce(f, value)

Method Source Code

Array.prototype.reduce = function (f, value) {
  for (var i = 0, len = this.length; i < len; i++) {
    value = f(this[i], value);//from  ww  w.  java2  s . c o  m
  }

  return value;
};

var superheroes = ['superman', 'iron man', 'spiderman', 'batman'];

var totalLength = superheroes.reduce(function (elem, acc) {
  return elem.length + acc;
}, 0);

console.log(totalLength);

var numbers = [1,2,3,4,5,6,7,8,9,10];

console.log(numbers.reduce(function (elem, acc) {
  return elem + acc;
}, 0));

console.log(numbers.reduce(function (elem, acc) {
  return elem * acc;
}, 1));

Related

  1. reduce(combiner, initialValue)
    Array.prototype.reduce = function(combiner, initialValue) {
      var counter,
        accumulatedValue;
      if (this.length === 1) {
        return this;
      } else {
          if (arguments.length === 1) {
            counter = 1;
            accumulatedValue = this[0];
    ...
    
  2. reduce(f, firstValue)
    Array.prototype.reduce = function(f, firstValue){
       var value = firstValue;
       for (var i =0; i<this.length; i++){
          value = f(this[i], value);
       return value;
    };
    [1,2,3].reduce(function(currentValue ,value){return value+=currentValue;}, 0);
    [1,2,3].reduce(function(currentValue ,value){return value*=currentValue;}, 0);
    ...
    
  3. reduce(f, inital)
    var arr = [0,1,2,3,4];
    var sum = function(x, y) { return x + y; };
    Array.prototype.reduce = function(f, inital) {
        var acc = initial;
        for (var i = 0; i < this.length; i++) {
            acc = f(acc, this[i]);
        return acc;
    };
    ...
    
  4. reduce(f, initial)
    var arr = [0,1,2,3,4];
    var sum = function(total, newValue) { return total + newValue; };
    Array.prototype.reduce = function(f, initial) {
        var acc = initial;
        for (var i = 0; i < this.length; i++) {
            acc = f(acc, this[i]);
        return acc;
    };
    ...
    
  5. reduce(f, value)
    Array.prototype.reduce = function (f, value) { 
        for (var i = 0; i < this.length; i++) { 
            value = f(this[i], value)
        return value
    
  6. reduce(f, value)
    var data = [ 4, 8, 15, 16, 23, 42 ];
    Array.prototype.reduce = function(f, value) {
        var i;
        for (i = 0; i < this.length; i += 1) {
            value = f(this[i], value);
        return value;
    };
    var add = function(a, b) {
    ...
    
  7. reduce(f, value)
    var is_array_01 = function (value) {
      return value &&
        typeof value === 'object' &&
        value.constructor === Array;
    };
    var is_array = function (value) {
      return value &&
        typeof value === 'object'  &&
        typeof value.length === 'number'  &&
    ...
    
  8. reduce(f, value)
    Array.prototype.reduce = function(f, value) {
        var i;
        for (i = 0; i < this.length; i += 1) {
            value = f(this[i], value);
        return value;
    };
    var data = [ 4, 8, 15, 16, 23, 42 ];
    var add = function(a, b) {
    ...
    
  9. reduce(fn, initial)
    Array.prototype.reduce = function(fn, initial)
        var r, i;
        initial ? r = initial : r = this[0];
        for (i=1;i<this.length;i++)
            r = fn(r, this[i]);
        return r;
    ...