我有两个数组,array1
和array2
。我需要比较这两个数组,并且我想创建第三个数组array3
,它显示array2
中不在array1
中的元素。
这是我到目前为止所做的:
my_buckets = Model.select("DISTINCT bucket").where(["my_id = ?", params[:user]])
all_buckets = Model.select("DISTINCT bucket").collect { |x| x.bucket }.uniq.compact
buckets_not_in_my_buckets = Model.select("DISTINCT bucket").where(["bucket NOT IN (?)", my_buckets]).collect { |x| x.bucket }.uniq.compact
出于某种原因,buckets_not_in_my_buckets
总是返回一个空数组([]
)。有没有更好的方法来解决这个问题?任何帮助将不胜感激。
答案 0 :(得分:2)
buckets_not_in_my_buckets = all_buckets - my_buckets
我假设您的存储桶对象上的eql?
运算符按照您的喜好运行。
有关详细信息,请参阅Array docs。