Мне нужно перебирать большой объект javascript в памяти так часто, чтобы генерировать вложенные данные json и вставлять в db. Структура объекта, как это:Каков наиболее эффективный способ перебора объекта javascript?
var obj = {
"30": { "7": { "date1": { "key1": "value1", "key2": "value2"}}},
"29": { "8": { "date2": { "key1": "value1"}}},
"28": { "6": { "date3": { "key1": "value1", "key2": "value2", "key3": "value3"}}}
};
на самом деле я использую этот ПОДХОД для итерации над объектом для уровней изменения гнездовых
Object.keys(obj).map((number1) => {
const number1Obj = obj[number1];
Object.keys(number1Obj).map((number2) => {
const number2Obj = number1Obj[number2];
Object.keys(number2Obj).map((date) => {
const dateObj = number2Obj[date];
console.log(number1);
console.log(number2);
console.log(date);
Object.keys(dateObj).map((key) => {
console.log(` ${key}:${dateObj[key]}`);
});
});
});
});
Есть ли более эффективный способ перебрать объекта и его свойства? running example
Является ли это узкое место в вашем приложении, или это преждевременная оптимизация? Лучше иметь ясный понятный код по большей части и сосредоточить ваши оптимизации на реальных проблемах позже. – Krease
Спасибо за совет, в настоящее время это не проблема, но мне нравится думать о моем кодексе с точки зрения эффективности. –
Если вы беспокоитесь о производительности (но почему вы?), То цикл 'for' всегда будет быстрее. –