第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

對(duì)象的 Javascript 對(duì)象數(shù)組對(duì)項(xiàng)目鍵的值求和,然后連續(xù)對(duì)值求和

對(duì)象的 Javascript 對(duì)象數(shù)組對(duì)項(xiàng)目鍵的值求和,然后連續(xù)對(duì)值求和

智慧大石 2022-09-29 17:54:22
我有以下對(duì)象數(shù)組:const dataSet = [  {    createdOn: '2020-06-01',    id: 1,    value: 12  },  {    createdOn: '2020-06-01',    id: 2,    value: 23  },  {    createdOn: '2020-06-02',    id: 3,    value: 40  },  {    createdOn: '2020-06-03',    id: 4,    value: 15  }]我希望能夠返回的是以下內(nèi)容:[  {    createdOn: '2020-06-01',    value: 35 // sum of 12 + 23  },  {    createdOn: '2020-06-02',    value: 75 // sum of 35 + 40  },  {    createdOn: '2020-06-03',    value: 90 // sum of 75 + 15  }]因此,我所追求的結(jié)果是:當(dāng)存在兩個(gè)(或多個(gè))具有相同日期的對(duì)象時(shí),則應(yīng)將它們的 s 一起添加到該鍵的單個(gè)對(duì)象中。createdOnvaluecreatedOn然后,每個(gè)對(duì)象也需要加在一起,從前一個(gè)對(duì)象創(chuàng)建一個(gè)累積的。valuevalue經(jīng)過(guò)一些搜索,我找到了一些代碼,可以幫助我實(shí)現(xiàn)第一點(diǎn):dataSet.reduce((acc, cur) => {  const date = cur.createdOn  const found = acc.find(elem => elem.createdOn === date)  if (found) {    found.value += cur.value  } else {    acc.push(cur)  }  return acc}, [])我只是不知道如何實(shí)現(xiàn)累積價(jià)值部分。提前致謝,祝您周末愉快。
查看完整描述

2 回答

?
紫衣仙女

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊

我會(huì)這樣做。首先計(jì)算每個(gè)不同值的累積值,然后將生成的映射轉(zhuǎn)換回?cái)?shù)組:createdOn


const map = dataSet.reduce((acc, {createdOn, value}) => {

  acc[createdOn] = value + (acc[createdOn] || 0);

  return acc;

}, {});

const result = Object.entries(map).map(([key, value], index) => ({

  createdOn: key,

  value: value

}));

result.forEach((item, index) => {

  if (index) {

     item.value += result[index - 1].value;

  }

});


查看完整回答
反對(duì) 回復(fù) 2022-09-29
?
浮云間

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊

這個(gè)怎么樣:


var dataSet = [ { createdOn: '2020-06-01', id: 1, value: 12 }, { createdOn: '2020-06-01', id: 2, value: 23 }, { createdOn: '2020-06-02', id: 3, value: 40 }, { createdOn: '2020-06-03', id: 4, value: 15 }];


var finalResult = Object.values(dataSet.reduce((acc, {createdOn, value})=>{

    acc[createdOn] = acc[createdOn] || {createdOn, value:0};

    acc[createdOn].value+=value;

    return acc;

},{})).map((e,i,self)=>(e.value+=self[i-1] ? self[i-1].value : 0, e));


console.log(finalResult);


查看完整回答
反對(duì) 回復(fù) 2022-09-29
  • 2 回答
  • 0 關(guān)注
  • 106 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)