Задать вопрос
@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 строчными методами добавлять туда новые значения. Но есть ли способ элегантнее?
  • Вопрос задан
  • 87 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
E1ON
@E1ON Куратор тега JavaScript
Programming, Gamedev, VR
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);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 17:26
5000 руб./за проект
18 дек. 2024, в 17:23
1500 руб./за проект
18 дек. 2024, в 16:42
2000 руб./за проект