Nodejs Array Reduce reduce(aggregate, initial)

Here you can find the source of reduce(aggregate, initial)

Method Source Code

Array.prototype.reduce = function(aggregate, initial) {
  const len = this.length;
  let startIndex = 0;// ww w  . j  av  a  2 s.c om
  if(typeof initial === 'undefined') {
    initial = this[0];
    startIndex = 1;
  }
  for(let i = startIndex; i < len; i += 1) {
    initial = aggregate(initial, this[i], i, this);
  }
  return initial;
};

Related

  1. reduce()
    Array.prototype.reduce = function() {
      return this.length > 1 ? this : this[0];
    };
    
  2. reduce()
    var testArray1 = [1, 3, 5, 4, 2],
          sumArray = [];
    Array.prototype.reduce = function() {
      var sum = 0;
        for (i=0;i<this.length; ++i) {
        sum += this[i];
          return sumArray.push(sum);
    };
    ...
    
  3. reduce(callback, initial)
    Array.prototype.reduce = function(callback, initial){
      initial = initial || 0;
      for (var i=0; i< this.length; i++) {
        initial = callback(initial, this[i], i, this);
      return  initial;
    wat = [1,2, 3, 4]
    console.log(wat);
    ...
    
  4. reduce(callback, initialValue)
    Array.prototype.reduce = function(callback, initialValue) {
      var last, returned;
      this.forEach(function(item, index, array) {
        if (index == 0 && initialValue) {
          returned = initialValue;
        } else if (index == 1 && !initialValue) {
          returned = item;
        } else {
          last = returned, returned = null;
    ...
    
  5. reduce(callback, memo)
    Array.prototype.reduce = function (callback, memo) {
        var obj = this;
        var value, accumulated_value = 0;
        for (var i = 0; i < obj.length; i++) {
            value = obj[i];
            accumulated_value = callback.call(null, accumulated_value, value);
        return accumulated_value;
    };
    ...
    
  6. reduce(cb, res)
    Array.prototype.reduce = function(cb, res){
        var arr = Object(this);
        for(var i=0;i<arr.length;i++){
            res = cb.call(res, arr[i], i);
        return res;