兩種求平均數(shù)的方法:1、利用forEach()和length屬性來求,語法“function f(v){s+=v;}數(shù)組對(duì)象.forEach(f);avg=s/數(shù)組對(duì)象.length;”;2、利用reduce()和length屬性來求,語法“function f(p,c){s=p+c;return s;}數(shù)組對(duì)象.reduce(f);avg=s/數(shù)組對(duì)象.length;”。
前端(vue)入門到精通課程:進(jìn)入學(xué)習(xí)
API 文檔、設(shè)計(jì)、調(diào)試、自動(dòng)化測(cè)試一體化協(xié)作工具:點(diǎn)擊使用
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
方法1:利用forEach()+length屬性
實(shí)現(xiàn)思想:
-
利用forEach()迭代數(shù)組計(jì)算元素總和
-
利用length屬性計(jì)算數(shù)組長(zhǎng)度
-
將 數(shù)組元素總和 除以 數(shù)組長(zhǎng)度
實(shí)現(xiàn)代碼:
var a = [10, 11, 12], sum = 0,len,avg; function f(value) { sum += value; } a.forEach(f); console.log("數(shù)組元素總和為:"+sum); len=a.length; console.log("數(shù)組長(zhǎng)度為:"+len); avg=sum/len; console.log("數(shù)組平均數(shù)為:"+avg);
說明:
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。
方法2:利用reduce()+length屬性
實(shí)現(xiàn)思想:
-
利用reduce()迭代數(shù)組計(jì)算元素總和
-
利用length屬性計(jì)算數(shù)組長(zhǎng)度
-
將 數(shù)組元素總和 除以 數(shù)組長(zhǎng)度
實(shí)現(xiàn)代碼:
var a = [11, 12, 13], sum = 0,len,avg; function f(pre,curr) { sum=pre+curr; return sum; } a.reduce(f); console.log("數(shù)組元素總和為:"+sum); len=a.length; console.log("數(shù)組長(zhǎng)度為:"+len); avg=sum/len; console.log("數(shù)組平均數(shù)為:"+avg);
說明:
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ù)的初始值。
【