1. 程式人生 > >程式設計思路(二)JS 陣列求和

程式設計思路(二)JS 陣列求和

陣列求和,最常用的方法就是常規迴圈

function sum(arr) {
    var total = 0
    for(let i =0; i < arr.length; i++) {
        total += arr[i]
    }
    return total
}

還有forEach方法

function sum(arr) {
    var total = 0
    arr.forEach(function (item,index){
        total += item
    })
    return total
}

還有其他方法也能實現,比如說陣列的reduce方法

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

不考慮演算法的複雜度,我們還可以用遞迴

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) {
  return eval(arr.join('+')) //eval() 函式可計算某個字串,並執行其中的的 JavaScript 程式碼。
}