const source = [
{
name: '张三',
weight: 100,
},
{
name: '张三',
weight: 101,
},
{
name: '张三',
weight: 102,
},
{
name: '李四',
weight: 103,
},
{
name: '李四',
weight: 104,
},
{
name: '李四',
weight: 105,
},
]
const res = []
for (let item of source) {
const i = res.findIndex(val => val.name === item.name)
if (i >= 0) {
res[i].weight.push(item.weight)
} else {
res.push({
name: item.name,
weight: [item.weight]
})
}
}
console.log(JSON.stringify(res))