I currently have this:
cart = [{"40"=>[{"size"=>"1", "count"=>1, "variation"=>nil, "style"=>"3"}]}, {"40"=>[{"siz开发者_如何学Ce"=>"2", "count"=>1, "variation"=>nil, "style"=>"3"}]}]
How do I search this array and find out if "40" exists?
Use Enumerable#any:
item_in_cart = cart.any? { |item| item.has_key?("40") }
#=> true / false
If you want to find if "40" is a key in any of your array items, you can do:
cart.detect{|i| i.has_key?("40")}
You can also do
cart.each do |c|
if c.first[0] == "40"
match = true
end
end
or far cleaner
match = cart.any? {|c| c.first[0] == "40" }
精彩评论