@SirAlejandro

Как создать плоский объект из вложенного?

Мне с бека приходят объекты типа:
const example = {
  a: 5,
  b: {
    c: 57,
    d: {
      e: 6
    }
  }
}

Ну, то есть вложенность может быть не ограничена. Как можно "Развернуть" объект, чтобы все свойства в нем стали корневыми и именовались через точку?

Т.е. вот так: 'example.b.d.e' : 6
  • Вопрос задан
  • 819 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const createPlainObj = (nested, path = '') =>
  Object.entries(nested).reduce((obj, [ k, v ]) => {
    const newPath = `${path}${path ? '.' : ''}${k}`;
    return Object.assign(obj, v instanceof Object
      ? createPlainObj(v, newPath)
      : { [newPath]: v }
    );
  }, {});


const plain = createPlainObj(example, 'example');
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Рекурсивно обойти объект в глубину через for ... in.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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