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
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END