@Sanchik97

Как перебрать многомерный объект?

Добрый день! Как можно перебрать вот такой, небольшой ассоциативный массив?
burger = {
        'smallburger': {
            'name': 'Маленький бургер',
            'cost': 7000,
            'ccal': 250,
        },
        'bigburger': {
            'name': 'Большой бургер',
            'cost': 9000,
            'ccal': 340,
        }
    }
  • Вопрос задан
  • 868 просмотров
Решения вопроса 2
sergiks
@sergiks Куратор тега JavaScript
♬♬
for..in

for (size in burger) { // size будет 'smallburger' и 'bigburger'
  for (prop in burger[size]) { // внутри каждого: 'name', 'cost' и 'ccal'
    console.log(size, prop, burger[size][prop]);
  }
}
Ответ написан
Комментировать
@frf_nn
человек с компом
если объект совсем неопределённой структуры, можно использовать рекурсию, такой подход часто применялся для печати значений и функций стандартных объектов JavaScript. Например geekswithblogs.net/svanvliet/archive/2006/03/23/si...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Zatmil
@Zatmil
Fullstack-разработчик
Это объект, а не ассоциативный массив. Что значит перебрать? Пройтись по ключам на одном уровне? На всех уровнях? Сложить их куда-то или что?

простейший вариант прохода по ключам:
Object.keys(burger).map(b => console.log(b))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы