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

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

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

瀏覽:177日期: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值一樣的對象,合并后把不相同的值放到一個(gè)數(shù)組

標(biāo)簽: JavaScript
主站蜘蛛池模板: 太原市| 景泰县| 溧水县| 嘉善县| 黑山县| 静海县| 苏州市| 和平区| 循化| 延庆县| 昭觉县| 景德镇市| 丰镇市| 桂阳县| 阜新市| 福州市| 扎兰屯市| 镇平县| 日喀则市| 赤峰市| 枝江市| 贵港市| 衢州市| 蕲春县| 广德县| 郯城县| 简阳市| 宜州市| 荣成市| 全椒县| 浮山县| 巴彦淖尔市| 育儿| 西和县| 资源县| 乳山市| 敦煌市| 青神县| 镶黄旗| 阳谷县| 庆城县|