@doctorcat

Как обрабатывать многоуровневые вложенные объекты/массивы?

Надо написать функцию, с возможностью распарсить объект любого уровня вложенности. Но проблема в том, что я хочу хранить полный путь для каждого из свойств. На момент открытия их значений. Ниже я приложил пример, с куском объекта которым работаю, так же моя функция работает на 3 уровня вложенности. выводит путь и потом значение в консоль. Но вот дальше, работать отказывается. И как её зациклить что бы работала до бесконечности я совершенно не пойму.

Если конкретней, моя функция неправильно работает обрабатывая вложенное свойство "stock", для него уже сбивается путь, что и можно увидеть в консоли.

https://jsfiddle.net/w5gy6ap0/
  • Вопрос задан
  • 402 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const objectParser = (data, path = '') => Object.assign({
  [path || '<root>']: data,
}, ...(data instanceof Object
  ? Object.entries(data).map(([ k, v ]) => objectParser(v, `${path}[${k}]`))
  : []
));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы