2 回答

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊
您的問題不清楚,但這里有一個(gè)使用 .它還跟蹤遇到的每個(gè)鍵的總數(shù),以防數(shù)組中并非所有對象都具有相同的鍵。您希望結(jié)果數(shù)組采用的格式尚不清楚,但我展示了一個(gè)根據(jù)調(diào)用結(jié)果計(jì)算平均值的示例。reduce()reduce()
const arr = [
{count1: 3, count2: 2},
{count1: 4, count2: 10},
{count1: 3, count3: 2}
];
const sumObj = arr.reduce((a, o) => (
Object.entries(o).forEach(([k, v]) => (
a[k] = {...a[k] ?? {sum: 0, total: 0}}
, a[k]['sum'] += v
, a[k]['total'] += 1)
), a), {});
console.log(sumObj);
const averageArr = Object.entries(sumObj).map(([k, {sum, total}]) => ({key: k, average: sum/total}));
console.log(averageArr);

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以使用map和reduce,就像給定多個(gè)鍵一樣:
const exampleArray = [{swag: 3, count: 2}, {swag: 4, count: 10}];
// converting into array with only the key you want to use
const countArray = exampleArray.map((element) => element.count); // an array with just {count: value} elements in them.
// ... now reduce like normally
添加回答
舉報(bào)