久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

javascript - 如何合并數組里某個key值一樣的對象,合并后把不相同的值放到一個數組

瀏覽:171日期:2023-05-18 08:59:40

問題描述

初始時var old = [

{ id: 1, name: 'first'},{ id: 2, name: 'first'},{ id: 3, name: 'second'},{ id: 4, name: 'second'}

]希望得到的結果var new = [

{ a: [1, 2], b: 'first'},{ a: [3, 4], b: 'second'}

]

問題解答

回答1:

供參考

var new = Array.from( old.reduce((dict, item)=> { if (dict.has(item.name)) { dict.get(item.name).push(item.id) } else { dict.set(item.name, [item.id]) } return dict }, new Map())).map(item => ({a: item[1], b: item[0]}))回答2:

原數組是

var old = [ {id: 1,name: 'first' }, {id: 2,name: 'first' }, {id: 3,name: 'second' }, {id: 4,name: 'second' }]

期望得到

new = [ {a: [1, 2],b: 'first' }, {a: [3, 4],b: 'second' }]實現

var getNew = old => { let temp = old.reduce((acc, cur) => {if (acc[cur.name]){ acc[cur.name].push(cur.id); } else { acc[cur.name] = [cur.id]}return acc; }, {});return Object.keys(temp).map(key => {return { a: temp[key], b: key} })}

Just Run getNew(old)

javascript - 如何合并數組里某個key值一樣的對象,合并后把不相同的值放到一個數組

標簽: JavaScript
主站蜘蛛池模板: 梁山县| 洮南市| 黄骅市| 嵊州市| 类乌齐县| 武穴市| 高唐县| 肇东市| 泽库县| 苍溪县| 黔西县| 和顺县| 滨州市| 彭水| 潜江市| 淅川县| 安泽县| 西乡县| 绥中县| 叙永县| 奉新县| 利川市| 温泉县| 项城市| 长武县| 大姚县| 上饶县| 漳平市| 郧西县| 文昌市| 滦南县| 疏附县| 富平县| 遂平县| 扎兰屯市| 阳城县| 泾川县| 西林县| 嘉兴市| 辰溪县| 东山县|