cú pháp để lập bản đồ:của Ruby Mảng: select(), thu thập(), và bản đồ()
a = ["a", "b", "c", "d"] #=> ["a", "b", "c", "d"]
a.map {|item|"a" == item} #=> [true, false, false, false]
a.select {|item|"a" == item} #=> ["a"]
câu hỏi làm thế nào về nếu tôi có:
irb(main):105:0> details[1]
=> {:sku=>"507772-B21", :desc=>"HP 1TB 3G SATA 7.2K RPM LFF (3 .", :qty=>"",
:qty2=>"1", :price=>"5,204.34 P"}
Tôi muốn xóa tất cả Mà nhập có giá trị qty trống trên mảng này hoặc chỉ chọn giá trị có giá trị trong đó.
tôi đã cố gắng:
details.map {|item|"" == item}
chỉ trả về rất nhiều sai lầm. và sau đó khi tôi sử dụng cùng một bản đồ chỉ thay đổi để chọn tôi nhận được:
[]
Nếu bạn nhìn kỹ, có vẻ như đó là một mảng băm – Emily
@Emily: Rất đúng, tôi vừa mới nhận ra điều đó. Mẫu mã cuối cùng khiến tôi nghĩ khác, bởi vì ': qty' thậm chí không xuất hiện ở đó. –