亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將數組對象求和成為對象?

如何將數組對象求和成為對象?

千巷貓影 2023-07-06 16:38:18
我對這個案例有一個疑問輸入:data = [{ number_1: 10, number_2: 20 },{ number_1: 15, number_2: 5 },{ number_1: 15, number_2: 35 },];輸出:dataSum = { sum_number_1: 40, sum_number_2: 60 };我想詢問我們可以使用的兩種方法:array.reduce和array.forEach。我發現我們需要將數組轉換為對象以進行輸出。感謝您的幫助。
查看完整描述

4 回答

?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

初始架構Array.reduce實際上取決于您。


const data = [{

    number_1: 10,

    number_2: 20

  },

  {

    number_1: 15,

    number_2: 5

  },

  {

    number_1: 15,

    number_2: 35

  },

];


const res = data.reduce((acc, {

  number_1,

  number_2

}) => {

  acc.sum_number_1 += number_1;

  acc.sum_number_2 += number_2;


  return acc;

}, {

  sum_number_1: 0,

  sum_number_2: 0

})


console.log(res)

這是forEach

const data = [{

    number_1: 10,

    number_2: 20

  },

  {

    number_1: 15,

    number_2: 5

  },

  {

    number_1: 15,

    number_2: 35

  },

];


const res = {

  sum_number_1: 0,

  sum_number_2: 0

};


data.forEach(({

  number_1,

  number_2

}) => {

  res.sum_number_1 += number_1;

  res.sum_number_2 += number_2;

})


console.log(res)


查看完整回答
反對 回復 2023-07-06
?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

這是你想要的嗎?


data.reduce((acc, {number_1, number_2}) => {

    acc.sum_number_1 += number_1;

    acc.sum_number_2 += number_2;

    return acc;

},{sum_number_1: 0, sum_number_2: 0})


查看完整回答
反對 回復 2023-07-06
?
至尊寶的傳說

TA貢獻1789條經驗 獲得超10個贊

您可以采用動態方法來匯總對象的所有屬性。


const

    data = [{ number_1: 10, number_2: 20 }, { number_1: 15, number_2: 5 }, { number_1: 15, number_2: 35 }],

    result = data.reduce((r, o) => {

        Object.entries(o).forEach(([k, v]) => r[k] = (r[k] || 0) + v)

        return r;

    });


console.log(result);


查看完整回答
反對 回復 2023-07-06
?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

嘗試這樣:


data = [

   { number_1: 10, number_2: 20 },

   { number_1: 15, number_2: 5 },

   { number_1: 15, number_2: 35 },

];


const reducer = (accumulator, currentValue) => {

  accumulator.sum_number_1 += currentValue.number_1;

  accumulator.sum_number_2 += currentValue.number_2;

  return accumulator;

};


console.log(data.reduce(reducer, { sum_number_1: 0, sum_number_2: 0 }));


使用reduce函數時,初始值被構造為要返回的最終對象。這些數字在回調函數中進行求和,然后返回結果。


查看完整回答
反對 回復 2023-07-06
  • 4 回答
  • 0 關注
  • 197 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號