搜索Ruby数组中是否存在值

Tee*_*eej 2 ruby arrays

我目前有这个:

cart = [{"40"=>[{"size"=>"1", "count"=>1, "variation"=>nil, "style"=>"3"}]}, {"40"=>[{"size"=>"2", "count"=>1, "variation"=>nil, "style"=>"3"}]}]
Run Code Online (Sandbox Code Playgroud)

如何搜索此数组并查明"40"是否存在?

tok*_*and 9

使用Enumerable#any:

item_in_cart = cart.any? { |item| item.has_key?("40") } 
#=> true / false
Run Code Online (Sandbox Code Playgroud)


Dou*_*g R 7

如果要查找"40"是否是任何数组项中的键,您可以执行以下操作:

cart.detect{|i| i.has_key?("40")}
Run Code Online (Sandbox Code Playgroud)