存在價值目前,我有這樣的:搜索如果在Ruby陣列
cart = [{"40"=>[{"size"=>"1", "count"=>1, "variation"=>nil, "style"=>"3"}]}, {"40"=>[{"size"=>"2", "count"=>1, "variation"=>nil, "style"=>"3"}]}]
如何搜索這個數組,看看「40」的存在?
存在價值目前,我有這樣的:搜索如果在Ruby陣列
cart = [{"40"=>[{"size"=>"1", "count"=>1, "variation"=>nil, "style"=>"3"}]}, {"40"=>[{"size"=>"2", "count"=>1, "variation"=>nil, "style"=>"3"}]}]
如何搜索這個數組,看看「40」的存在?
item_in_cart = cart.any? { |item| item.has_key?("40") }
#=> true/false
如果你想找到,如果「40」是在您的任何陣列項目的關鍵,你可以這樣做:
cart.detect{|i| i.has_key?("40")}
你也可以做
cart.each do |c|
if c.first[0] == "40"
match = true
end
end
或更乾淨
match = cart.any? {|c| c.first[0] == "40" }
你試過了什麼? – 2011-05-16 15:57:16
以什麼方式存在?從技術上講,「40」不是你陣列的成員。 – 2011-05-16 15:57:38
cart [0] .first [0] ==「40」現在將其構建到cart.each塊中。我想他是指字符串鍵「40」。 – 2011-05-16 15:58:46