@SirAlejandro

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

Всем привет! Помогите, плиз написать метод для создания вложенного объекта из плоского. Суть в чем : в плоском объекте есть поля, в которых есть точка 'user.id' и 'posts.user.name' и т.д. Нужно из это собрать объект с полем {user: {id: 5}} и так далее. Может есть уже готовые либы, которые решают похожую задачу?
  • Вопрос задан
  • 104 просмотра
Решения вопроса 1
0xD34F
@0xD34F
const buildNestedObj = (plain) => Object.entries(plain).reduce((obj, [ k, v ]) => {
  const keys = k.split('.');
  keys.slice(0, -1).reduce((acc, n) => acc[n] = acc[n] || {}, obj)[keys.pop()] = v;
  return obj;
}, {});
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
rockon404
@rockon404
Frontend Developer
Отлично подойдет _.set
const obj = {};
_.set(obj, 'user.id', 5);
console.log(obj); // { user: { id: 5 } }
Ответ написан
@nvdfxx
Senior Pomidor developer
let arr = [];
arr.push({posts.user.name: {id: user.id}});
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
24 марта 2019, в 11:14
5000 руб./за проект
24 марта 2019, в 09:47
8000 руб./за проект
24 марта 2019, в 05:09
60000 руб./за проект