let list = [
{ name: '小明', age: 20, school: '清华' },
{ name: '小红', age: 21, school: '清华' },
{ name: '小白', age: 18, school: '北大' },
{ name: '小黄', age: 19, school: '北大' },
{ name: '小浪', age: 21, school: '哈佛' },
]
var obj = []
list.forEach((item, index) => {
let { school } = item
if (!obj?.[school]) {
obj[school] = {
children: [],
school: item.school,
}
}
obj[school].children.push(item)
})
let data = Object.values(obj);
[
{
"children": [
"school": "清华",
{
"name": "小明",
"age": 20,
"school": "清华"
},
{
"name": "小红",
"age": 21,
"school": "清华"
}
]
},
{
"children": [
"school": "北大",
{
"name": "小白",
"age": 18,
"school": "北大"
},
{
"name": "小黄",
"age": 19,
"school": "北大"
}
]
},
{
"children": [
"school": "哈佛",
{
"name": "小浪",
"age": 21,
"school": "哈佛"
}
]
}
]