javascript陣列怎麼求平均數

2022-09-30 18:01:34

兩種求平均數的方法: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);
登入後複製

1.png

說明:

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);
登入後複製

2.png

說明:

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其它相關文章!