Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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_Ecmascript 6 - Fatal编程技术网

Javascript 如何将深层嵌套对象文字转换为对象数组?

Javascript 如何将深层嵌套对象文字转换为对象数组?,javascript,ecmascript-6,Javascript,Ecmascript 6,我正在尝试使用构建treeselect组件,该组件的要求是以特定格式(对象数组)提供treeData,但是在我的应用程序中,我将数据作为对象文本获取,如下所示 output = {"Node3":{ "Node": "Node3", "children": { "Node3A" : { "Node": "Node3A", "children": { "Node3A1": {

我正在尝试使用构建treeselect组件,该组件的要求是以特定格式(对象数组)提供treeData,但是在我的应用程序中,我将数据作为对象文本获取,如下所示

output = {"Node3":{
    "Node": "Node3",
    "children": {
        "Node3A" : {
            "Node": "Node3A",
            "children": {
                "Node3A1": {
                    "Node": "Node3A1",
                    "children": {
                        "Node3A1": {
                            "Node": "Node3A1x"
                        },
                        "Node3A1":{
                            "Node": "Node3A1y"
                        },
                        "Node3A1": {
                            "Node": "Node3A1z"
                        }
                    }
                },
                "Node3A2":{
                    "Node": "Node3A2"
                },
                "Node3A3":{
                    "Node": "Node3A3"
                }
            }
        }
    }}}
我想将其转换为如下所示的输出,以便可以将此数据作为treeData提供,以在tree select组件中获得所需的输出

{
    "Node": "Node3",
    "children": [
        {
            "Node": "Node3A",
            "children": [
                {
                    "Node": "Node3A1",
                    "children":
                        [
                            {
                                "Node": "Node3A1x"
                            },
                            {
                                "Node": "Node3A1y"
                            },
                            {
                                "Node": "Node3A1z"
                            }
                        ]
                },
                {
                    "Node": "Node3A2"
                },
                {
                    "Node": "Node3A3"
                }
            ]
        }
基本上,我希望以这样一种方式获得输出,即将对象文字的子属性转换为对象数组。正在寻找Javascript(最好是ES6)解决方案
const输入={
“节点3”:{
“节点”:“节点3”,
“儿童”:{
“Node3A”:{
“节点”:“节点3A”,
“儿童”:{
“Node3A1”:{
“节点”:“Node3A1”,
“儿童”:{
“node3alx”:{
“节点”:“node3alx”
},
“Node3A1y”:{
“节点”:“Node3A1y”
},
“Node3A1z”:{
“节点”:“Node3A1z”
}
}
},
“Node3A2”:{
“节点”:“Node3A2”
},
“Node3A3”:{
“节点”:“Node3A3”
}
}
}
}
}
};
函数变换(obj){
if(对象儿童){
obj.children=Object.values(obj.children.map)(转换);
}
返回obj;
}
const result=transform(Object.values(input.pop());

控制台日志(结果)欢迎来到stackoverflow。不幸的是,你的“问题”(实际上似乎不是问题,只是事实陈述)远远低于要求的标准。请阅读此页并使用感谢@ponury kostek,这正是我想要的解决方案。