Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将数据结构转换为另一个树结构_Javascript_Arrays_Multidimensional Array_Data Structures_Tree - Fatal编程技术网

Javascript 如何将数据结构转换为另一个树结构

Javascript 如何将数据结构转换为另一个树结构,javascript,arrays,multidimensional-array,data-structures,tree,Javascript,Arrays,Multidimensional Array,Data Structures,Tree,我需要您的帮助来创建一个树状数据结构,其中包含如下所示的给定JSON和下面已经给出的所需输出结构。我是一名编程初学者,对数据结构只有一点知识 来自API的JSON 输出如下结构所示 上面的结构是图像文件目录,目录名由标签表示,图标表示目录,子目录显示子目录 它可以通过递归功能轻松存档 const icon=“pi文件夹”; 变量a=[ "", [ “测试”, [ “测试/样品”, [ “测试/样品/样本1” ] ], [ “测试/测试3” ] ], [ “测试1”, [ “Test1/tes

我需要您的帮助来创建一个树状数据结构,其中包含如下所示的给定JSON和下面已经给出的所需输出结构。我是一名编程初学者,对数据结构只有一点知识

来自API的JSON 输出如下结构所示 上面的结构是图像文件目录,目录名由标签表示,图标表示目录,子目录显示子目录


它可以通过递归功能轻松存档

const icon=“pi文件夹”;
变量a=[
"",
[
“测试”,
[
“测试/样品”,
[
“测试/样品/样本1”
]
],
[
“测试/测试3”
]
],
[
“测试1”,
[
“Test1/test2”
]
],
[
“猫”
]
]
/**
*@param{Array}arr子数组
*/
函数createChildNode(arr){
让key=“Image”;
让label=“Image”;
让孩子们=[];
如果(arr.length>=1){
key=arr[0];
label=key.includes(“/”)key.split(“/”).pop():key;
label=label.charAt(0.toUpperCase()+label.slice(1);
对于(让索引=1;索引控制台日志(b)
如果可能的话,您是否可以在第一个JSON数据中添加更多信息(例如,每个数组似乎都代表一个前缀,其子数组之间用“/”分隔,但这只是猜测)。另外,到目前为止,您是否有任何现有的研究/代码可以帮助您指出正确的方向?您能为您的问题提供完整的json输入吗?哦,我看不到key/value
Image
,所以我假设您的API json缺少一些值。我的答案有用吗?您可以从阅读有关递归函数的文章开始,如。如果要更改结构,只需编辑
createChildNode
函数即可
   [
    "",
    [
        "Test",
        [
            "Test/sample",
            [
                "Test/sample/sample1"
            ]
        ],
        [
            "Test/test3"
        ]
    ],
    [
        "Test1",
        [
            "Test1/test2"
        ]
    ],
    [
        "cat"
    ]
]
 {
        "key": "Image",
        "label": "Image",
        "icon": 'pi pi-folder',
        "children": []
    },

    {
        "key": "Test",
        "label": "Test",
        "icon": "pi pi-folder",

        "children": [
            {
                "key": "Test/sample",
                "label": "Sample",
                "icon": "pi pi-folder",

                "children": [{
                    "key": "Test/sample/sample1",
                    "label": "Sample1",
                    "icon": 'pi pi-folder',
                    "children": []
                }]
            },
            {
                "key": "Test/test3",
                "label": "test3",
                "icon": "pi pi-folder",
                "children": []
            },
        ]
    },

    {
        "key": "Test1",
        "label": "Test1",
        "icon": "pi pi-folder",
        "children": [{
            "key": "Test1/test2",
            "label": "test2",
            "icon": "pi pi-folder",
            "children": []
        }]
    },

    {
        "key": "cat",
        "label": "cat",
        "icon": "pi pi-folder",
        "children": []
    },

]