3種實現方法:1、使用for迴圈,語法「for(i=0;i<陣列長度;i++){sum+=arr[i];}」;2、使用forEach()函數,語法「function f(value){sum+=value;}陣列物件.forEach(f);」;3、使用reduce()函數,語法「function f(p,c){s=p+c;return s;}陣列物件.reduce(f);」。
前端(vue)入門到精通課程:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API偵錯工具:
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
方法1:使用for迴圈
實現思想:
使用for迴圈遍歷陣列
在迴圈體中,利用「+=」運運算元將陣列元素一個個相加求和
實現範例:
var arr = [1,2,3,4,5,6,7,8,9,10];
var i,sum=0;
for(i=0;i<arr.length;i++){ //迴圈遍歷陣列
//將陣列元素一個個相加求和
sum+=arr[i];
}
console.log(sum);
登入後複製
方法2、使用forEach()方法
forEach() 方法用於呼叫陣列的每個元素,並將元素傳遞給回撥函數。
語法:
array.forEach(funtion callbackfn(value, index, array), thisValue)
登入後複製
funtion callbackfn(value, index, array)
:必需引數,指定回撥函數,最多可以接收三個引數:
value:陣列元素的值。
index:陣列元素的數位索引。
array:包含該元素的陣列物件。
thisValue
:可省略的引數,回撥函數中的 this 可參照的物件。如果省略 thisArg,則 this 的值為 undefined。
下面通過程式碼範例來具體瞭解一下:
範例:將陣列值進行累加求和
var a = [10, 11, 12], sum = 0;
function f(value) {
sum += value;
}
a.forEach(f);
console.log(sum);
登入後複製
方法3、使用reduce() 方法
reduce() 方法可對陣列中的所有元素呼叫指定的回撥函數。該回撥函數的返回值為累積結果,並且此返回值在下一次呼叫該回撥函數時作為引數提供。
語法:
array.reduce(function callbackfn(previousValue, currentVaule, currentIndex, array), initialValue)
登入後複製
function callbackfn(previousValue, currentVaule, currentIndex, array)
:必需引數,指定回撥函數,最多可以接收4個引數:
previousValue:通過上一次呼叫回撥函數獲得的值。如果向 reduce() 方法提供 initialValue,則在首次呼叫函數時,previousValue 為 initialValue。
currentVaule:當前元素陣列的值。
currentIndex:當前陣列元素的數位索引。
array:包含該元素的陣列物件。
initialValue
:可省略的引數,傳遞給函數的初始值。
下面通過程式碼範例來具體瞭解一下:
範例:將陣列值進行累加求和
var a = [11, 12, 13], sum = 0;
function f(pre,curr) {
sum=pre+curr;
return sum;
}
a.reduce(f);
console.log(sum);
登入後複製
輸出結果:
【相關推薦:、】
以上就是JavaScript怎麼實現陣列元素相加的詳細內容,更多請關注TW511.COM其它相關文章!