数组求和的几种方法

  • for循环

const data = [1,2,3];
const sum = (arr) => {
    let s = 0;
    for (let i = 0;i < arr.length; i++) {
        s += arr[i];
    }
    return s;
}

sum(data);
  • forEach遍历

const data = [1,2,3];
const sum = (arr) => {
    let s = 0;
    arr.forEach(t => {
        s += t
    })
    return s;
}

sum(data);
  • reduce

const data = [1,2,3];
const sum = (arr) => arr.reduce((ac, cu) => ac + cu);

sum(data)
  • 递归

const data = [1,2,3];
const sum = (arr) => {
    if(arr.length === 0) {
        return 0
    } else if(arr.length === 1) {
        return arr[0];
    } else {
        return arr[0] + sum(arr.slice(1));
    }
}

sum(data);
  • eval

const data = [1,2,3];
const sum = (arr) => eval(arr.join('+'));

sum(data);

最后更新于

这有帮助吗?