我有两个数组:

array1 = [1,2,2,4,5,6]
array2 = [2,1]

我怎么得到
array3 = [2,4,5,6]

我尝试过array1 - array2,但它返回[4,5,6]

最佳答案

你所描述的是一个multiset标准库中没有实现,但您可以使用multiset gem

require 'multiset'

ms1 = Multiset.new([1, 2, 2, 4, 5, 6])
ms2 = Multiset.new([2, 1])

ms1 - ms2
#=> #<Multiset:#1 2, #1 4, #1 5, #1 6>

(ms1 - ms2).to_a
#=> [2, 4, 5, 6]

10-08 04:35