我有这样的哈希
[{"user_id"=>"4672046155508aafb4d01bca27cca8c6", "email"=>"xxxxxxxxxx@gmail.com", "sport"=>[nil]}, {"user_id"=>"007ba6fd74b3ef3c12734ddd0f2280ae", "email"=>"xxxxxxxx@yahoo.com", "sport"=>[nil, nil, nil, nil]}, {"user_id"=>"0085e4d74738a384e10042b62acb56e2", "email"=>"xxxxxxxxxx@gmail.com", "sport"=>[nil, nil, nil]}]
我需要一个包含所有电子邮件的哈希,怎么做?...每当我使用
时 users[:email]
它给出的错误无法将符号转换为整数
答案 0 :(得分:1)
你可以这样做
hash_array = [{"user_id"=>"4672046155508aafb4d01bca27cca8c6", "email"=>"xxxxxxxxxx@gmail.com", "sport"=>[nil]}, {"user_id"=>"007ba6fd74b3ef3c12734ddd0f2280ae", "email"=>"xxxxxxxx@yahoo.com", "sport"=>[nil, nil, nil, nil]}, {"user_id"=>"0085e4d74738a384e10042b62acb56e2", "email"=>"xxxxxxxxxx@gmail.com", "sport"=>[nil, nil, nil]}]
hash_array.map{ |hash| hash["email"] }
它将返回所有电子邮件的数组
答案 1 :(得分:0)
它不是哈希,它是一个哈希数组。要访问第一个哈希email
,您可以执行以下操作:
users.first['email']