Nodejs Array Reduce reduce(callback, memo)

Here you can find the source of reduce(callback, memo)

Method Source Code

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];/*  w  w  w. j a  v a  2  s .c o  m*/
        accumulated_value = callback.call(null, accumulated_value, value);
    }
    return accumulated_value;
};

var arr = [1, 2, 3];

var accumulated_val = arr.reduce(function (a, b) {
    return a + b;
})

console.log(accumulated_val);

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(aggregate, initial)
    Array.prototype.reduce = function(aggregate, initial) {
      const len = this.length;
      let startIndex = 0;
      if(typeof initial === 'undefined') {
        initial = this[0];
        startIndex = 1;
      for(let i = startIndex; i < len; i += 1) {
        initial = aggregate(initial, this[i], i, this);
    ...
    
  4. 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);
    ...
    
  5. 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;
    ...
    
  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;
    
  7. reduce(combiner, initialValue)
    Array.prototype.reduce = function (combiner, initialValue) {
      var counter,
        accumulatedValue;
      if (this.length === 0) {
        return this;
      else {
        if (arguments.length === 1) {
          counter = 1;
    ...
    
  8. reduce(combiner, initialValue)
    Array.prototype.reduce = function(combiner, initialValue) {
      var counter,
        accValue;
      if (this.length === 0) {
        return this;
      else {
        if (arguments.length === 1) {
          counter = 1;
    ...
    
  9. reduce(combiner, initialValue)
    Array.prototype.reduce = function(combiner, initialValue) {
      var counter,
        accumulatedValue;
      if (this.length === 0) {
        return this;
      else {
        if (arguments.length === 1) {
          counter = 1;
    ...