hszy00232/developExperience

算法练习 - 累加

Opened this issue · 0 comments

/**
 * 通过数组for循环进行累加
 * @param arr 
 * @returns value
 */
const sum = arr => {
    let total = 0;
    for (let index = 0; index < arr.length; index++) {
        total += arr[index];        
    }
    return total;
}

/**
 * 通过数组reduce进行累加
 * @param arr 
 * @returns value
 */
const sum2 = arr => {
    return arr.reduce(function(curr,prev){
        return curr + prev;
    },0); // 如果不设置初始值,传入空数组时会报错
}

/**
 * 通过递归进行累加
 * @param arr 
 * @returns value
 */
const sum3 = arr => {
    if(arr.length === 0) return 0;
    if(arr.length === 1) return arr[0];
    return arr[0] + sum3(arr.slice(1));
}