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

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - 如何合并數(shù)組里某個(gè)key值一樣的對(duì)象,合并后把不相同的值放到一個(gè)數(shù)組

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

問題描述

初始時(shí)var old = [

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

]希望得到的結(jié)果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:

原數(shù)組是

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' }]實(shí)現(xiàn)

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 - 如何合并數(shù)組里某個(gè)key值一樣的對(duì)象,合并后把不相同的值放到一個(gè)數(shù)組

標(biāo)簽: JavaScript
主站蜘蛛池模板: 通许县| 北京市| 会理县| 松原市| 宜阳县| 军事| 新乐市| 米脂县| 永清县| 宜良县| 云龙县| 台北县| 景德镇市| 潍坊市| 洛宁县| 巴楚县| 万源市| 大竹县| 阜新市| 新巴尔虎右旗| 定边县| 滨海县| 吉木乃县| 张家界市| 蕲春县| 彰化县| 于都县| 榆中县| 五台县| 保康县| 巧家县| 河东区| 温泉县| 宣武区| 鹤壁市| 广南县| 广昌县| 凤城市| 长顺县| 双牌县| 阿拉尔市|