84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
初始时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" }
]
小伙看你根骨奇佳,潜力无限,来学PHP伐。
供参考
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]}))
原数组是
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 RungetNew(old)
getNew(old)
供参考
原数组是
期望得到
实现
Just Run
getNew(old)