@lilkan
Начинающий разработчик

Как разделить ключи в объекте на дочерние объекты?

Дан объект

{
    "hero.a": "1",
    "hero.b": "1",
    "hero.c": "",
    "hero.d": "",
    "tools.a": "0",
    "tools.b": "0",
    "tools.c": "0",
}


Нужно привести его к виду

{
    hero {
             a: 1,
             b:1,
             c: '',
             d:''       
},
   tools{
          a: 0,
          b: 0,
          c: 0
          }
}


Единственная мысль приходит это пересоздавать объект и через Object.keys строчными методами добавлять туда новые значения. Но есть ли способ элегантнее?
  • Вопрос задан
  • 56 просмотров
Решения вопроса 1
E1ON
@E1ON Куратор тега JavaScript
web, gamedev, anime, science
const data = {
   "hero.a": "1","hero.b": "1","hero.c": "","hero.d": "","tools.a": "0","tools.b": "0","tools.c": "0",
};

for (item in data) {
  const elems = item.split(".");
  data[elems[0]] = { ...data[elems[0]], [elems[1]]: data[item] };
  delete data[item];
}

console.log(data);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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