2013-09-24 108 views
-1

我有一個由WHERE活動記錄查詢產生的記錄數組。每個記錄都有兩到十六個字符串作爲其屬性。我需要查看是否有任何記錄包含另一個數組中的所有字符串作爲其屬性。我怎樣才能做到這一點?字符串的如何檢查一個記錄數組是否包含另一個數組中的每個字符串

樣品陣列:在類似的記錄

產品

  • ID1
  • ID2的Array

    ["12349", "12IUS823", "4809JDSL"] 
    

    取樣記錄

  • ID3
  • ID4
  • ID5
  • ID6
+2

您能更清楚地指定產品數組。只是說id1,id2沒有闡明產品陣列的實際外觀。還有,我們需要在哪個產品領域檢查另一個數組? – Raghu

回答

0

我認爲你在尋找這樣的事情......

["12349", "12IUS823", "4809JDSL"].all? { |value| [ id1 , id2 , id3 ].any? { |id| id == value } }

1

假設你可以得到一個數組所有字符串屬性通過strings方法。我會檢查數組的差異是否爲空。它選擇至少包含所有字符串的記錄,arr

arr = ["12349", "12IUS823", "4809JDSL"] 

records.select{|x| (arr - x.strings).empty? } 
相關問題