国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

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

瀏覽:146日期: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
主站蜘蛛池模板: 崇文区| 沿河| 临汾市| 无极县| 凤台县| 丰台区| 门源| 南开区| 威宁| 武宣县| 宁城县| 新晃| 含山县| 天祝| 定州市| 宁都县| 陆川县| 奉化市| 云浮市| 获嘉县| 玛多县| 天津市| 周口市| 巴南区| 襄城县| 马鞍山市| 栾城县| 朝阳市| 定日县| 潜江市| 湘乡市| 托里县| 贺州市| 治多县| 精河县| 崇仁县| 云安县| 修水县| 田林县| 西华县| 阿荣旗|