我正在尝试使用JSON构建一个树,我试图在浏览器控制台中进行打印。
var json = [{
name: "1",
id: 1,
child: [{
name: "11",
id: 11,
child: [{
name: "111",
id: 111
}, {
name: "112",
id: 112
}]
}, {
name: "12",
id: 12
}]
}];
function ya(obj) {
console.log(obj.name);
if (obj.child) {
console.log("length=" + obj.child.length);
for (i = 0; i < obj.child.length; i++) {
ya(obj.child[i]);
}
}
}
ya(JSON.parse(JSON.stringify(json))[0]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
我想在这里打印
1
11个
111个
112个
12
在控制台中。但它只打印
1
11个
111个
112
我想以递归方式执行此操作。我怎样才能做到这一点?
答案 0 :(得分:0)
您需要使用i
声明var
:
for (var i = 0; i < obj.child.length; i++)
有关详细信息,请参阅Difference between variable declaration syntaxes in Javascript (including global variables)?。