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

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

如何在 javascript 中聚合以日期為鍵的對象

如何在 javascript 中聚合以日期為鍵的對象

翻翻過去那場雪 2023-08-10 15:27:25
我有一個對象,其鍵作為日期,格式如下"yyyy-mm-dd"(例如:2020-08-14),每個鍵的值是具有兩個屬性(名稱和值)的對象數(shù)組。value我需要找到一種方法來獲取按nameaccros天分組的密鑰總和N。下面是一個更好理解的例子,原始對象有 4 天的數(shù)據(jù),其中一天有一個空數(shù)組:{  "2020-10-15":[    {"name":"France","value":20},    {"name":"United States","value":20},    {"name":"Italy","value":5},   ], "2020-10-16":[    {"name":"Germany","value":10},    {"name":"United States","value":5},    {"name":"France","value":10}   ],  "2020-10-17":[],   "2020-10-18":[    {"name":"UK","value":10},    {"name":"Italy","value":10},   ] }例如,如果我們希望按 4 天對這些數(shù)據(jù)進行分組,我們將得到以下結(jié)果:[{"name": "France", "value": 30}, {"name": "United States", "value": 25}, {"name": "Italy", "value": 15}, {"name": "Germany", "value": 10}, {"name": "UK", "value": 10}]這是 4 天內(nèi)具有相同名稱值的所有對象的總和。我完全不知道如何實現(xiàn)這一點,我知道可以使用映射來迭代對象鍵并通過 moment js 進行一些處理,但我不知道如何實現(xiàn)這一點。
查看完整描述

1 回答

?
MYYA

TA貢獻1868條經(jīng)驗 獲得超4個贊

您可以使用reduce、forEach和Object.keys方法執(zhí)行以下操作,

const value = {

? "2020-10-15":[

? ? {"name":"France","value":20},

? ? {"name":"United States","value":20},

? ? {"name":"Italy","value":5},

? ?],

?"2020-10-16":[

? ? {"name":"Germany","value":10},

? ? {"name":"United States","value":5},

? ? {"name":"France","value":10}

? ?],

? "2020-10-17":[],

? ?"2020-10-18":[

? ? {"name":"UK","value":10},

? ? {"name":"Italy","value":10},

? ?]


?}


let res = Object.keys(value).reduce((prev, curr) => {

? ?value[curr].forEach(item => {

? ? ? const idx = prev.findIndex(pItem => pItem.name === item.name);

? ? ? if(idx > -1) {

? ? ? ? ?const newObj = {...prev[idx], value: prev[idx].value + item.value};

? ? ? ? ?prev[idx] = newObj;

? ? ? ? ?return ;

? ? ? }

? ? ? prev.push(item);

? ?})

? ?return prev;

}, []);

console.log(res);


查看完整回答
反對 回復 2023-08-10
  • 1 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號