【发布时间】:2019-07-10 14:25:27
【问题描述】:
我有如下所示的 Json 对象:
{
id : 0,
cnt: 1,
someStuff : 'lalala',
1: {
id : 1,
cnt: 2,
someStuff : 'allgood',
1: {
id : 2,
cnt: 0,
someStuff: 'nice'
},
2: {
id : 3,
cnt : 0,
someStuff: 'nice2'
}
}
}
而我想要做的就是将此 Json 的某些部分作为独立对象返回。如果我使用这个功能:
function CurrentNodeReturn(obj, idReturn) {
if (idReturn == 0) { return obj; }
for (var i = 1; i < obj.cnt + 1; i++) {
if (obj[i].id == idReturn) {
return obj[i];
} else {
return CurrentNodeReturn(obj[i], idReturn);
}
}
}
我可以得到与 Id = 0 相同的对象。我也可以使用 ids 1 和 2 获取分离的对象。但是当我需要获取 id = 3 的对象时,我得到的只是控制台日志中的“未定义”错误。 那么,如果每次调用带参数的 CurrentNodeReturn 函数(我提到的所有主要对象,节点的 id 应该返回到起始调用点),我该如何改进函数的算法呢?
【问题讨论】:
标签: javascript json object search