JS 实现数据格式反转分类
const list = [
{
name: "一年级",
teyp: [
"数学",
"语文"
]
},
{
name: "二年级",
teyp: [
"数学",
"英语"
]
},
{
name: "三年级",
teyp: [
"化学",
"地理"
]
}
];
const result = list.reduce((acc, cur) => {
const { teyp, ...rest } = cur;
const obj = {};
teyp.forEach(group => {
obj.name = group;
const curGroup = acc.find(el => el.name === group);
if (curGroup) {
curGroup.userList.push(rest);
} else {
obj.userList = [rest];
acc.push(obj);
}
});
return acc;
}, []);
return result;
实现效果
[
{
name: "语文",
userList: [
{
name: "一年级"
},
{
name: "一年级"
}
]
},
{
name: "英语",
userList: [
{
name: "二年级"
},
{
name: "二年级"
}
]
},
{
name: "地理",
userList: [
{
name: "三年级"
},
{
name: "三年级"
}
]
}
];