0
我有两个数组。Ruby如何检查一个数组中的字符串是否是另一个数组中的对象属性?
一个被命名为食物,它是一串字符串。
另一个被命名为dataList。它是一个包含名为name的属性的对象数组。
我需要做的是检查数组食物中的名称是否存在于dataList中。这意味着食物中的所有物品都必须与dataList中的其中一个名称属性相同。
我知道如何检查数组是否包含相同类型的数据。但我不知道如何做到这一点。
我有两个数组。Ruby如何检查一个数组中的字符串是否是另一个数组中的对象属性?
一个被命名为食物,它是一串字符串。
另一个被命名为dataList。它是一个包含名为name的属性的对象数组。
我需要做的是检查数组食物中的名称是否存在于dataList中。这意味着食物中的所有物品都必须与dataList中的其中一个名称属性相同。
我知道如何检查数组是否包含相同类型的数据。但我不知道如何做到这一点。
由于我们不关心元素的顺序,也不关心元素存在的次数,所以我们可以使用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
谢谢你。我是Ruby的新手,我没有考虑过套路。我会更多地阅读。 再次感谢您的帮助! – lettuceman44
该解决方案有效。我唯一需要改变的是return foods_set == attribute_names_set 应该是 return foods_set.subset? attribute_names_set 感谢您的帮助! – lettuceman44