Ruby如何检查一个数组中的字符串是否是另一个数组中的对象属性?

时间:2013-02-02 22:36:46

标签: ruby arrays

我有两个数组。

一种是命名食品,它是一系列字符串。

另一个名为dataList。它是一个包含名为name。

的属性的对象数组

我需要做的是检查数组食物中的名称是否存在于dataList中。这意味着食物中的所有项目都需要等于dataList中的一个名称属性。

我知道如果两个数组都包含相同类型的数据,如何检查数组。但我不知道该怎么做。

1 个答案:

答案 0 :(得分: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