Demigodd
@Demigodd

Как поднять все элементы в хэше на один уровень выше и удалить этот хэш?

К примеру есть такой хэш:
{
  "aaa"=>{"age"=>11},
  "bbb"=>{
    "age"=>11,
    "child"=>{
      "child_1"=>{"age"=>11},
      "child_2"=>{"age"=>11}
    }
  },
  "ccc"=>{"age"=>11}
}

Как из этого получить такое:
{
  "aaa"=>{"age"=>11},
  "child_1"=>{"age"=>11},
  "child_2"=>{"age"=>11},
  "ccc"=>{"age"=>11}
}


То есть, у кого есть child, поднять все его элементы на один уровень выше и убрать его.
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
0xD34F
@0xD34F
data = data.reduce({}){|acc, (k, v)| acc.update(v['child'] || {k => v})}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
11 мая 2024, в 00:19
1000 руб./за проект
10 мая 2024, в 23:51
30000 руб./за проект
10 мая 2024, в 23:33
2500 руб./за проект