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

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

javascript多維數組按照key值合并的問題

javascript多維數組按照key值合并的問題

皈依舞 2018-08-23 15:40:43
              var arr = [{                    key: 1,                    name: 2,                    job: 3                 }, {                    key: 1,                    name: 22,                    job: 33                 }, {                    key: 2,                    name: 222,                    job: 333                 }, {                    key: 2,                    name: 2222,                    job: 3333                 }];arr 這個數組有多個字段,我想根據key這個字段相同的屬性的時候,就進行合并。最終想實現的結果如arr2    arr2 = [{                    key: 1,                    info: [{                        name: 2,                        job: 3                     }, {                        name: 22,                        job: 33                     }]                 }, {                    key: 2,                    info: [{                        name: 222,                        job: 333                     }, {                        name: 2222,                        job: 3333                     }]                 }];
查看完整描述

2 回答

?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

var keys = Array.from(new Set(arr.map(o=>o.key)));var result = keys.map(key=>{    return {key: key,        info: arr.filter(o=>o.key==key).map(o=>({name:o.name, job:o.job}))
    }
});console.log(result);


查看完整回答
反對 回復 2018-08-26
?
牧羊人nacy

TA貢獻1862條經驗 獲得超7個贊

function mergeKey(arr) {  const keyMap = arr.reduce((r, item)=>{    const newItem = {...item};    delete newItem.key;
    r[item.key] = (r[item.key] || []).concat(newItem);    return r;
  }
  , {});  return Object.keys(keyMap).map(key=>({
    key,    info: keyMap[key],
  }));
}

mergeKey(arr)


查看完整回答
反對 回復 2018-08-26
  • 2 回答
  • 0 關注
  • 1138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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