export
function toTreeData(data, id, pid, name) {
// 建立个树形结构,需要定义个最顶层的父节点,pid是0
let parent = [];
for (let i = 0; i < data.length; i++) {
// console.log(data[i][pid])
if (data[i][pid] !== 0) {} else {
let obj = {
label: data[i][name],
id: data[i][id],
children: []
};
parent.push(obj); //数组加数组值
}
}
children(parent);
// 调用子节点方法,参数为父节点的数组
function children(parent) {
// console.log(parent)
if (data.length !== 0) {
for (let i = 0; i < parent.length; i++) {
for (let j = 0; j < data.length; j++) {
if (parent[i].id == data[j][pid]) {
let obj = {
label: data[j][name],
id: data[j][id],
children: []
};
parent[i].children.push(obj);
}
}
children(parent[i].children);
}
}
}
return parent;
}
//树形列表
getTreeData() {
getTreeMenu('').then(res = >{
this.loading = false;
let treeList = res.result;
const userStr = JSON.parse(treeList); //从一个字符串中解析出json对象
this.treeData = toTreeData(userStr, "id", "pId", "name")
//this.chils = JSON.stringify(result, null, '\t');//从一个对象解析出字符串
})
},
数组操作代码片段1
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 本节主要内容 1:数组直接获取 2:回顾for语句 3:回顾方法 4:本节总结&下节预告 本文出处:《凯哥陪你学系...