功能介绍:如何利用js语法把数组根据相同key转换成嵌套数组格式,下面给大家简单介绍一下具体实现代码!
基础数组:
const dataList = [
{
name: "小米",
school: "清北本科"
},
{
name: "小米",
school: "浙大研究生"
},
{
name: "小华",
school: "上海大学"
},
{
name: "小龙",
school: "西南大学"
},
];
具体语法:
let dataArr = [];
dataList.map(mapItem => {
if (dataArr.length == 0) {
dataArr.push({ name: mapItem.name, List: [mapItem] })
} else {
let res = dataArr.some(item=> {
if (item.name == mapItem.name) {
item.List.push(mapItem)
return true
}
})
if (!res) {
dataArr.push({ name: mapItem.name, List: [mapItem] })
}
}
})
输出结果:
console.log('dataArr', dataArr)
[
{
"name": "小米",
"List": [
{
"name": "小米",
"school": "清北本科"
},
{
"name": "小米",
"school": "浙大研究生"
}
]
},
{
"name": "小华",
"List": [
{
"name": "小华",
"school": "上海大学"
}
]
},
{
"name": "小龙",
"List": [
{
"name": "小龙",
"school": "西南大学"
}
]
}
]