У меня есть JavaScript Object с несколькими вложенными объектами, как это:Итерация через объект, который вложен объекты в nodeJs
var stats = {
bookServed: {
redis: 90,
s3: 90,
signedUrl: 70
},
errors: {
redis: {
bookService: 70,
mapi: 50,
capi: 30
},
AWS: {
signedUrl: 70,
downloadBook: 50,
searchBook: 10
},
decryption: 60
}
};
Что бы чистейший способ перебора всех его свойств и установить каждое значение 0
например. Я написал что-то вроде этого
for (var property in stats) {
if (stats.hasOwnProperty(property)) {
if (typeof property === "object") {
for (var sub_property in property)
if (property.hasOwnProperty(sub_property)) {
sub_property = 0
}
} else {
property = 0;
}
}
}
Я хочу использовать библиотеку, такую как underscore.js, для правильной работы задачи.
Любой библиотеку вы используете будет использовать аналогичный метод рекурсивного цикла. Я предполагаю, что у вас есть работы, и вы просто ищете что-то ... «чище» * (что бы это ни значило) *? –
Мое решение работает только для 2 уровней вложенных объектов, в моем примере у меня 3 уровня, поэтому я хочу, чтобы что-то рекурсивное перешло на самый глубокий уровень, независимо от того, сколько уровней у меня в объекте. – Amaynut
поэтому сделайте функцию, которая выполняет этот шаг, и если объект найден вместо числа, вызовите функцию снова на под-объект. –