【发布时间】:2021-07-27 05:10:24
【问题描述】:
当我有一个类似对象的动态嵌套数组时,我正在解决一个问题。我必须捕获嵌套索引将其转换为嵌套对象。这是两级嵌套数组的示例,我编写了简单的代码将其转换为嵌套索引对象。我正在寻找迭代或递归方法来处理动态嵌套数组并转换为嵌套的类似索引对象:-
var arr= [
{
"index": "1",
"subRows": [
{
"index": "2",
"subRows": undefined
},
{
"index": "3",
"subRows": undefined
}
]
},
{
"index": "4",
"subRows": [
{
"index": "5",
"subRows": undefined
}
]
}
];
var obj={}
for(var i =0; i<arr.length; i++) {
obj[i]={};
if(arr[i].subRows) {
for(var j=0; j<arr[i].subRows.length; j++) {
obj[i][j] = {};
}
}
}
console.log(obj)
【问题讨论】:
-
您的问题中没有 JSON,并且 there is no such thing as a JSON Object。只是数组和对象。
-
看来你可能需要写一个递归函数。
-
你能举例说明 obj 的结果吗?
-
@MotiKorets 的输出是这样的,你也可以运行这段代码。0: {0:{0:{},1:{}}, 1:{0:{}} }
-
在问题中添加想要的输出会更容易理解
标签: javascript arrays recursion iteration