SOURCE

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))
console 命令行工具 X clear

                    
>
console