var testData = [{
component_id: "",
isParent: true,
name: "调查问卷",
id: "questionnaire"
}, {
component_id: "questionnaire",
name: "限制规则",
id: "82d7c72ce0d44d468917d80345db6d76"
}, {
component_id: "questionnaire",
name: "问卷状态",
id: "37df4eac0c1a41f58e86b0bd09660c69"
}, {
component_id: "questionnaire",
name: "问卷类型",
id: "7f1a50a6c2c74434a0985eb3ec86ff9d"
}, {
component_id: "questionnaire",
name: "题目分类",
id: "6574a57da7ca4c38a533b7df640a7754"
}, {
component_id: "questionnaire",
name: "题型",
id: "4bdb716514bf441cab84f6a86777e323"
}, {
component_id: "",
isParent: true,
name: "权限和公共服务",
id: "common"
}, {
component_id: "common",
name: "工作日类型",
id: "8730689871b94280920928bcef540f34"
}, {
component_id: "common",
name: "内容类型",
id: "788271c775eb41f3ac20ff7908e359f8"
}, {
component_id: "common",
name: "职级",
id: "4022f3aa46074f9883b15df054a03a44"
}, {
component_id: "common",
name: "公共组织视角",
id: "4811ee39d0e9473a854dbe66d40e55f0"
}, {
component_id: "common",
name: "前端类型",
id: "b40a15e8c9614b75a2470059e4b27a83"
}, {
component_id: "",
isParent: true,
name: "用户中心",
id: "user"
}, {
component_id: "user",
name: "公共组织视角",
id: "6a05b51cae2f489da84729c8e9d855ca"
}, {
component_id: "user",
name: "职级",
id: "9abbdc83998741a9928e4e6b5fa3d2bd"
}, {
component_id: "user",
name: "数据库类型",
id: "a9a49f60e1a248d3914d2f5b57007e42"
}, {
component_id: "",
isParent: true,
name: "公共字典",
id: "userenum"
}, {
component_id: "userenum",
isParent: true,
name: "用户中心",
id: "userenum_user"
}, {
component_id: "userenum_user",
name: "站点类型",
id: "2533266139f146bb9a81aeac898fa00e"
}, {
component_id: "userenum",
isParent: true,
name: "权限和公共服务",
id: "userenum_common"
}, {
component_id: "userenum_common",
name: "站点类型",
id: "796df61dab8b4869bc3d6c0e8c007fb5"
}, {
component_id: "userenum_common",
name: "广告展示效果",
id: "8a18a47fd9c040e890afaeed957b4d9f"
}, {
component_id: "userenum_common",
name: "前端平台类型",
id: "d6962f50328d45228c4e3ee2fa7cd63d"
}]
function generateData(data,parentId) {
data.forEach((item) => {
delete item.children;
})
let map = {};
data.forEach(function (item) {
map[item.id] = item;
});
let result = [];
data.forEach(function (item) {
let parent = map[item[parentId]];
if (parent) {
(parent.children || (parent.children = [])).push(item);
} else {
result.push(item);
}
});
return result
};
console.log(generateData(testData,'component_id'));
01-12
4564
12-18
1175
06-07
206
02-28
364
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交