@OrdeO
just......newbie

Как добавить значения хэша в массив?

Есть хэш такого вида
[{"amount"=>"5000.00"}, {"amount"=>"250.00"}, {"amount"=>"($200.00)"}, {"amount"=>"250.00"}, {"amount"=>"300.00"}, {"amount"=>"1200.00"},


Как добавить значения каждого amount в массив, результат должен быть такого вида:
arr = [5000.00, 200.00, 250.00, 300.00, 1200.00]
Дополнительная сложность заключается что amount может иметь вот такой вид ($200.00) и здесь нужно корректно обработать, а вот как это сделать уже не понимаю. Буду благодарен за любую помощь
  • Вопрос задан
  • 63 просмотра
Решения вопроса 2
Sou1Jkeee
@Sou1Jkeee
Ruby developer
arr = [ {"amount"=>"5000.00"} , {"amount"=>"250.00"}, {"amount"=>"($200.00)"}, {"amount"=>"250.00"}, {"amount"=>"300.00"}, {"amount"=>"1200.00"} ]
arr.map(&:values).flatten.map { |i|  i.delete('()$') } # => ["5000.00", "250.00", "200.00", "250.00", "300.00", "1200.00"]
Ответ написан
Комментировать
0xD34F
@0xD34F
newArr = arr.map{|n| n['amount'].gsub(/[^\d.]/, '').to_f}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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