4 回答

TA貢獻1818條經(jīng)驗 獲得超7個贊
方式.reduce()
let data = [
{name: "toto",note: 2},
{name: "titi",note: 4},
{name: "toto",note: 5}
]
let result = data.reduce((a,v) => v.note + a, 0);
console.log(result);

TA貢獻1744條經(jīng)驗 獲得超4個贊
相當(dāng)短的代碼
const data = [
{ name: "toto", note: 2 },
{ name: "titi", note: 4 },
{ name: "toto", note: 5 }
];
const average = data.reduce((a, { note }) => {
return a + note;
}, 0) / data.length;
console.log(average);

TA貢獻1833條經(jīng)驗 獲得超4個贊
你也可以使用一個循環(huán)(在我的測試中,它比 reduce()快50%)來構(gòu)建總和:
let a = [
{name: "toto",note: 2},
{name: "titi",note: 4},
{name: "toto",note: 5}
];
let sum = 0;
for(var i=0; i< a.length; i++){
sum += a[i].note;
}
// sum = 11
如果你想要平均值:
let avg = sum / a.length;
// avg = 3.6666~

TA貢獻1872條經(jīng)驗 獲得超4個贊
你可以試試:
const arr = [
{name: "toto",note: 2},
{name: "titi",note: 4},
{name: "toto",note: 5}
]
const result = arr.reduce((acc, { note }) => acc += note,0)
console.log((result/arr.length).toFixed(4))
添加回答
舉報