Descriptive programming - reduce

by Preetha Srinivasan

JavaScript

function getData() {
  //var arr = [1,2,3,4,5];
  //var arr =['a','p','p','l','e'];
  var arr = [[1,2],[2,3],[3,4]];
  return arr;
}

// calculate the sum of the elements in an array
function usingVanilaJs(arr){
  var sum = arr.reduce((prev,curr) => {return prev + curr });
  return sum;
}

// implementing reduce
function usingMyOwnReduce(arr){
 Array.prototype.myReduce = function(reduceFn,initialVal){
   var result = initialVal;
   this.forEach(val => {
      result = (result != undefined) ? reduceFn(result,val) : val;
   });
   return result;
 };
  var sum = arr.myReduce((prev,curr) => {return prev.concat(curr) });
  return sum;
}

function main(){
 var arr = getData();
 var sum = usingMyOwnReduce(arr);
 console.log(sum);
}

main();