利用for循环封装
function foo(array){
var cont = 0;
for(var i = 0;i<array.length;i++){
cont += arr[i];
}
return cont;
}
function foo(arr){
var cont = 0;
for(var i = arr.length;i>=0; i--){
cont += arr[i];
}
return cont;
}
if判断封装
function foo(arr) {
var len = arr.length;
if (len == 0) {
return 0;
} else if (len == 1) {
return arr[0];
} else {
return arr[0] + foo(arr.slice(1));
}
}
forEach遍历数组
function _forEach(arr) {
var cont = 0;
arr.forEach(function (val, index, arr) {
cont += val;
}, 0);
return cont;
};
eval函数可计算某个字符串
function _eval(arr) {
return eval(arr.join("+"));
}
reduce函数累加运算
function _reduce(arr) {
var res = arr.reduce(function (a, b) {
return a + b;
}, 0);
return res;
}
箭头函数
function bar(arr) {
return arr.reduce((pre, curr, index, arr) => {
return pre + curr;
}, 0);
};
function bar(arr) {
return arr.reduce((total, curr) => total + curr);
}