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);
輸出結果:
【