#ruby-on-rails #ruby
Вопрос:
У меня есть следующий массив:
[ { "name_printed_on_badge": "John", "is_active": "Yes", "is_valid": "Yes" }, { "name_printed_on_badge": "John", "is_active": "Yes", "is_valid": "No" } ]
Я хочу узнать, как объединить каждую пару ключей и значений и вернуть массив в формате вывода ниже:
[ [ "name_printed_on_badge: John", "is_active: Yes", "is_valid: Yes" ], [ "name_printed_on_badge: John", "is_active: Yes", "is_valid: No" ] ]
Комментарии:
1. Для меня эти два массива выглядят одинаково. Каким вы хотите видеть конечный результат?
2. конечный результат не будет содержать хэшей в массиве, вместо этого это будет массив массивов
3. Спасибо. Я упустил эту тонкую разницу. Я предлагаю использовать
map
для решения этой проблемы.
Ответ №1:
array = [ { "name_printed_on_badge": "John", "is_active": "Yes", "is_valid": "Yes" }, { "name_printed_on_badge": "John", "is_active": "Yes", "is_valid": "No" } ] array.map do |hash| hash.map { |key, value| "#{key}: #{value}" } end # [["name_printed_on_badge: John", "is_active: Yes", "is_valid: Yes"], ["name_printed_on_badge: John", "is_active: Yes", "is_valid: No"]]
Комментарии:
1. спасибо, похоже, мне нужно потратить день или два на изучение хэшей и массивов в ruby