JS数组求和的五种常用方法

16,041 阅读1分钟

JS数组求和的五种常用方法

输入

sum([ 1, 2, 3, 4 ])

输出

10

方法一. 不考虑算法复杂度,用递归做

function sum(arr) {
  var len = arr.length;
  if(len == 0){
    return 0;
  } else if (len == 1){
    return arr[0];
  } else {
    return arr[0] + sum(arr.slice(1));
  }
}

方法二. 常规循环

function sum(arr) {
  var s = 0;
  for (var i=arr.length-1; i>=0; i--) {
    s += arr[i];
  }
  return s;
}

方法三. 函数式编程 map-reduce

function sum(arr) {
  return arr.reduce(function(prev, curr, idx, arr){
    return prev + curr;
  });
}

方法四. forEach遍历

function sum(arr) {
  var s = 0;
  arr.forEach(function(val, idx, arr) {
    s += val;
  }, 0);
  
  return s;
};

方法五. eval

function sum(arr) {
  return eval(arr.join("+"));
};

测试输出运行结果

console.log(sum([ 1, 2, 3, 4 ]))

返回结果10