兩種求平均數的方法:1、利用forEach()和length屬性來求,語法「function f(v){s+=v;}陣列物件.forEach(f);avg=s/陣列物件.length;」;2、利用reduce()和length屬性來求,語法「function f(p,c){s=p+c;return s;}陣列物件.reduce(f);avg=s/陣列物件.length;」。
前端(vue)入門到精通課程:進入學習
API 檔案、設計、偵錯、自動化測試一體化共同作業工具:
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
方法1:利用forEach()+length屬性
實現思想:
利用forEach()迭代陣列計算元素總和
利用length屬性計算陣列長度
將 陣列元素總和 除以 陣列長度
實現程式碼:
var a = [10, 11, 12], sum = 0,len,avg;
function f(value) {
sum += value;
}
a.forEach(f);
console.log("陣列元素總和為:"+sum);
len=a.length;
console.log("陣列長度為:"+len);
avg=sum/len;
console.log("陣列平均數為:"+avg);
登入後複製
說明:
forEach() 方法用於呼叫陣列的每個元素,並將元素傳遞給回撥函數。
array.forEach(funtion callbackfn(value, index, array), thisValue)
登入後複製
funtion callbackfn(value, index, array)
:必需引數,指定回撥函數,最多可以接收三個引數:
value:陣列元素的值。
index:陣列元素的數位索引。
array:包含該元素的陣列物件。
thisValue
:可省略的引數,回撥函數中的 this 可參照的物件。如果省略 thisArg,則 this 的值為 undefined。
方法2:利用reduce()+length屬性
實現思想:
利用reduce()迭代陣列計算元素總和
利用length屬性計算陣列長度
將 陣列元素總和 除以 陣列長度
實現程式碼:
var a = [11, 12, 13], sum = 0,len,avg;
function f(pre,curr) {
sum=pre+curr;
return sum;
}
a.reduce(f);
console.log("陣列元素總和為:"+sum);
len=a.length;
console.log("陣列長度為:"+len);
avg=sum/len;
console.log("陣列平均數為:"+avg);
登入後複製
說明:
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
:可省略的引數,傳遞給函數的初始值。
【相關推薦:、】
以上就是javascript陣列怎麼求平均數的詳細內容,更多請關注TW511.COM其它相關文章!