У меня есть объект 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.Также я могу получить отдельный объект с идентификаторами 1 и 2. Но когда мне нужно получить объект с id = 3, я получаю только «неопределенные» ошибки в журнале консоли.Итак, как я могу улучшить алгоритм моей функции, если каждый раз, когда я вызываю функцию CurrentNodeReturn с параметрами (все основные объекты, которые я упомянул, идентификатор узла, который должен быть возвращен в начальную точку вызова)?