我写了一个传统的递归循环,但是当条件满足时它不会返回值,但仍然继续循环。我试图打破,但它并没有停止。
我的代码和 JSON 在下面。但是,我在控制台上看到,当 id 为“2”时,该值会按预期填充一次。倾角搜索也正确完成,但是当我通过util.iterate(json)
调用调用函数对象的值的函数检查返回的对象时undefined
util.iterate = function (obj){
for(var i in obj)
{
if( i === "id" && obj[i] === "2"){
console.log("test" +obj[i] );
return obj;
//break; does not work either
}
else if (typeof(obj[i])=="object"){
this.iterate(obj[i]);
}
}
}
JSON:
{
"id": "0",
"item": [{
"id": "1",
"text": "1111",
"userdata": [{
"name": "name",
"content": "BK"
}]
},
{
"id": "2",
"select": "1",
"text": "222222",
"item": [{
"id": "21",
"text": "child"
}]
},
{
"id": "3",
"text": "3333"
}]
}