@doctorcat

Помощь в написании функции парсера многоуровневых вложенных объектов/массивов?

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

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

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

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

Войти через TM ID
Похожие вопросы
Digital Sharks Казань
от 60 000 до 65 000 руб.
CS Money Санкт-Петербург
от 120 000 до 150 000 руб.
Ingram Micro Cloud Москва
от 170 000 руб.