前端 平级结构数据转换 el-tree 所要求的树形结构数据

15 篇文章 0 订阅
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'));
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值