@Gravio

Как извлечь узел дерева по массиву индексов вложенных элементов?

Есть дерево и массив индексов:

var main = [
  {
    text: "hi",
    child: [
      {
        text: "test"
      },
      {
        text: "test",
        child: [
          {
            text: "hello",
            child: [
              {
                text: "A",
              },
              {
                text: "B",
              },
              {
                text: "C",
              }
            ]
          }
        ]
      }
    ]
  },
];

var indexes = [0, 1, 0, 2];

Нудно извлечь узел дерева, используя индексы. Если делать руками, то должно получится типа такого: main[0].child[1].child[0].child[2]. Вернуть функция должна {text: "C"}.
  • Вопрос задан
  • 108 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
indexes.reduce((p, c) => (p?.child ?? p)?.[c], main)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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