3種實現(xiàn)方法:1、使用for循環(huán),語法“for(i=0;i<數(shù)組長度;i++){sum+=arr[i];}”;2、使用forEach()函數(shù),語法“function f(value){sum+=value;}數(shù)組對象.forEach(f);”;3、使用reduce()函數(shù),語法“function f(p,c){s=p+c;return s;}數(shù)組對象.reduce(f);”。
前端(vue)入門到精通課程:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調(diào)試工具:點擊使用
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
方法1:使用for循環(huán)
實現(xiàn)思想:
-
使用for循環(huán)遍歷數(shù)組
-
在循環(huán)體中,利用“+=”運算符將數(shù)組元素一個個相加求和
實現(xiàn)示例:
var arr = [1,2,3,4,5,6,7,8,9,10]; var i,sum=0; for(i=0;i<arr.length;i++){ //循環(huán)遍歷數(shù)組 //將數(shù)組元素一個個相加求和 sum+=arr[i]; } console.log(sum);
方法2、使用forEach()方法
forEach() 方法用于調(diào)用數(shù)組的每個元素,并將元素傳遞給回調(diào)函數(shù)。
語法:
array.forEach(funtion callbackfn(value, index, array), thisValue)
funtion callbackfn(value, index, array)
:必需參數(shù),指定回調(diào)函數(shù),最多可以接收三個參數(shù):
-
value:數(shù)組元素的值。
-
index:數(shù)組元素的數(shù)字索引。
-
array:包含該元素的數(shù)組對象。
thisValue
:可省略的參數(shù),回調(diào)函數(shù)中的 this 可引用的對象。如果省略 thisArg,則 this 的值為 undefined。
下面通過代碼示例來具體了解一下:
示例:將數(shù)組值進行累加求和
var a = [10, 11, 12], sum = 0; function f(value) { sum += value; } a.forEach(f); console.log(sum);
方法3、使用reduce() 方法
reduce() 方法可對數(shù)組中的所有元素調(diào)用指定的回調(diào)函數(shù)。該回調(diào)函數(shù)的返回值為累積結(jié)果,并且此返回值在下一次調(diào)用該回調(diào)函數(shù)時作為參數(shù)提供。
語法:
array.reduce(function callbackfn(previousValue, currentVaule, currentIndex, array), initialValue)
function callbackfn(previousValue, currentVaule, currentIndex, array)
:必需參數(shù),指定回調(diào)函數(shù),最多可以接收4個參數(shù):
-
previousValue:通過上一次調(diào)用回調(diào)函數(shù)獲得的值。如果向 reduce() 方法提供 initialValue,則在首次調(diào)用函數(shù)時,previousValue 為 initialValue。
-
currentVaule:當前元素數(shù)組的值。
-
currentIndex:當前數(shù)組元素的數(shù)字索引。
-
array:包含該元素的數(shù)組對象。
initialValue
:可省略的參數(shù),傳遞給函數(shù)的初始值。
下面通過代碼示例來具體了解一下:
示例:將數(shù)組值進行累加求和
var a = [11, 12, 13], sum = 0; function f(pre,curr) { sum=pre+curr; return sum; } a.reduce(f); console.log(sum);
輸出結(jié)果:
【