数组操作代码片段1

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');//从一个对象解析出字符串
    })
},
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容