JS递归问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS递归问题相关的知识,希望对你有一定的参考价值。
我有一段json 如果递归成另外一种格式json:
需要转换的JSON
var testJson =
name:"codesystem",
newValue:undefined,
loopFlag:0,
children:[
name:"infosystem",
newValue:1,
loopFlag:0
,
name:"dataitems",
newValue:undefined,
loopFlag:0,
children:[
name:"dataitem",
newValue:undefined,
loopFlag:1,
children:[
name:"code",
newValue:1,
loopFlag:0
,
name:"name",
newValue:1,
loopFlag:0
]
,
name:"dataitem",
newValue:undefined,
loopFlag:0,
children:[
name:"code",
newValue:1,
loopFlag:0
,
name:"name",
newValue:1,
loopFlag:0
]
]
]
需要转成的格式如下:
"stm":
"codesystem":
"infosystem":"1",
"dataitems":
"dataitem":[
"code":"1",
"name":"1"
,
"code":"1",
"name":"1"
]
var newJson=stm:;
var n1=testJson.name;
var n2=testJson.children[0].name;
var dis=testJson.children[1];
newJson.stm[n1]=;
newJson.stm[n1][n2]=testJson.children[0].newValue;
newJson.stm[n1][dis.name]=;
dis.children.forEach(function(o,i)
if(!newJson.stm[n1][dis.name][o.name])newJson.stm[n1][dis.name][o.name]=[];
o.children.forEach(function(o1)
if(!newJson.stm[n1][dis.name][o.name][i])newJson.stm[n1][dis.name][o.name][i]=;
newJson.stm[n1][dis.name][o.name][i][o1.name]=o1.newValue;
);
);
console.log(newJson); 参考技术B 泛彼柏舟,亦泛
以上是关于JS递归问题的主要内容,如果未能解决你的问题,请参考以下文章