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