2013-02-02 149 views
0

我有兩個數組。Ruby如何檢查一個數組中的字符串是否是另一個數組中的對象屬性?

一個被命名爲食物,它是一串字符串。

另一個被命名爲dataList。它是一個包含名爲name的屬性的對象數組。

我需要做的是檢查數組食物中的名稱是否存在於dataList中。這意味着食物中的所有物品都必須與dataList中的其中一個名稱屬性相同。

我知道如何檢查數組是否包含相同類型的數據。但我不知道如何做到這一點。

回答

0

由於我們不關心元素的順序,也不關心元素存在的次數,所以我們可以使用Sets輕鬆完成此操作。

require 'set' 

foods_set = Set.new(foods) 

attribute_names_set = Set.new 
dataList.each do |d| 
    attribute_names_set << d.name 
end 

return foods_set == attribute_names_set 
+0

謝謝你。我是Ruby的新手,我沒有考慮過套路。我會更多地閱讀。 再次感謝您的幫助! – lettuceman44

+0

該解決方案有效。我唯一需要改變的是return foods_set == attribute_names_set 應該是 return foods_set.subset? attribute_names_set 感謝您的幫助! – lettuceman44

相關問題