扁平对象,转为树形对象

Posted bagexiaowenti

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了扁平对象,转为树形对象相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    var input = {
        h3: {
            parent: h2,
            name: 副总经理(市场)
        },
        h1: {
            parent: h0,
            name: 公司机构
        },
        h7: {
            parent: h6,
            name: 副总经理(总务)
        },
        h4: {
            parent: h3,
            name: 销售经理
        },
        h2: {
            parent: h1,
            name: 总经理
        },
        h8: {
            parent: h0,
            name: 财务总监
        },
        h6: {
            parent: h4,
            name: 仓管总监
        },
        h5: {
            parent: h4,
            name: 销售代表
        },
        h0: {
            parent: ‘‘,
            name: root
        }
    };

    var plain2Tree = function (obj) {
        var key, res;
        for(key in obj) {
            var parent = obj[key].parent;
            if(parent === ‘‘) {
                res = obj[key];
            } else {
                obj[parent][key] = obj[key];
            }
        }
        return res
    };

    console.log(plain2Tree(input));


</script>
</body>
</html>

 

以上是关于扁平对象,转为树形对象的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 扁平与树形数组数据的转换

Javascript中扁平化数据结构与JSON树形结构转换详解

JSON多层嵌套复杂结构数据扁平化处理转为行列数据

ES6语法将扁平的JSON对象结构化

JavaScript实现树形扁平化(数组降维)

什么是网站的扁平结构与树形结构