Ruby on rails 通过RubyonRails数组循环的简单方法
有人能给我指出一个正确的方向,关于循环数组并提取所需的值。这给我的理解带来了问题:Ruby on rails 通过RubyonRails数组循环的简单方法,ruby-on-rails,ruby,Ruby On Rails,Ruby,有人能给我指出一个正确的方向,关于循环数组并提取所需的值。这给我的理解带来了问题: array = [{"response_message"=>nil, "response_client_message"=>nil, "response_customer_message"=>nil, "closed"=>true, "updated_at"=>2012-05-30 13:20:49 UTC, "created_at"=>2012-05-30 13:20:29
array = [{"response_message"=>nil, "response_client_message"=>nil, "response_customer_message"=>nil, "closed"=>true, "updated_at"=>2012-05-30 13:20:49 UTC, "created_at"=>2012-05-30 13:20:29 UTC, "token"=>"2fda85eab962fa6e27850605f2f948ca", "price"=>"$24.00", "amount"=>#<BigDecimal:7fa3f4485428,'0.24E2',9(18)>, "currency_code"=>"USD", "metadata"=>"{\"xxx\": 5, \"xxx\": 250, \"xxx\": true, \"support\": { \"email\": true, \"phone\": false } }", "line_items"=>[{"amount"=>#<BigDecimal:7fa3f4482fe8,'0.24E2',9(18)>, "notes"=>nil, "currency_code"=>"USD", "description"=>"1 day", "price"=>"$24.00", "feature_level"=>"{\"hotspots\": 5, \"vouchers\": 250, \"customizable_logins\": true, \"support\": { \"email\": true, \"phone\": false } }", "metadata"=>"{\"hotspots\": 5, \"vouchers\": 250, \"customizable_logins\": true, \"support\": { \"email\": true, \"phone\": false } }"}]}]
但这给了我一个[]
如何循环并提取这些值?
我还需要了解如何将行\u项数组取出
谢谢
传递字符串而不是符号
传递字符串不是一个符号不完全清楚您在寻找什么,但如果您想从该数组中提取值,请尝试映射:
array.map { |elem| elem["updated_at"] }
这将返回所有“已更新”值的列表。不完全清楚您的目标,但如果要从该数组中提取值,请尝试
map
:
array.map { |elem| elem["updated_at"] }
这将返回所有“更新的_at”值的列表。如果要通过数组循环并收集更新的_at值,则应使用collect/map方法。 在您的示例中,您引用的是elem[:updated_at],它与elem[“updated_at”]不同
如果要循环遍历数组并收集更新的_at值,则应使用collect/map方法。 在您的示例中,您引用的是elem[:updated_at],它与elem[“updated_at”]不同
array.map { |elem| elem["updated_at"] }
array.collect{|elem| elem["updated_at"]}