相同值放在一起

171 阅读1分钟

const oldData = [

{ id: 1, value: '11' },

{ id: 1, value: '12' },

{ id: 2, value: '22' },

{ id: 2, value: '23' },

{ id: 2, value: '24' },

{ id: 3, value: '33' },

{ id: 3, value: '34' },

{ id: 4, value: '44' }

]

const s = new Set() //实例化对象

oldData.forEach(item => s.add(item.id)) //添加值(Set可以去掉重复数据)

let newData = Array.from({ length: s.size }, () => []) //创建指定长度数组并添值

oldData.forEach(item => {

let index = [...s].indexOf(item.id) //找到指定下标

newData[index].push(item) //添加数据

})