let arr =[{id:1,name:'测试1'},{id:1,name:'测试2'},{id:2,name:'测试3'},{id:2,name:'测试4'},{id:3,name:'测试5'},{id:3,name:'测试6'},]let arrayTwo = Object.values(
arr.reduce((res, item)=>{
res[item.id]? res[item.id].push(item):(res[item.id]=[item])return res
},{}))
console.log(arrayTwo)
另一种转换格式
let arr =[{id:1,name:'测试1'},{id:1,name:'测试2'},{id:2,name:'测试3'},{id:2,name:'测试4'},{id:3,name:'测试5'},{id:3,name:'测试6'},]let newData =[]
arr.forEach(function(v){let n
for(let i =0; i < newData.length; i++){let t = newData[i]if(
t.id === v.id
){
n = t
break}}if(!n){
n ={id: v.id,list:[]}
newData.push(n)}
n.list.push(v)})
console.log(newData )