Rails 3 - 从阵列A中删除属于阵列B的项目

时间:2011-04-13 11:10:20

标签: ruby arrays ruby-on-rails-3

我开始使用阵列,但我仍然坚持使用似乎 非常简单的东西...
我正在尝试从另一个数组中删除属于一个数组的x个元素。
我看过这个但是......封锁了: Deleting items from an array requires multiple passes to remove them all

a = ["1","2","3","4","5","6"]
b = ["1","3"]
c = a.reject { |i| i =~ /b/ }

嗯,我在这里有点多,谢谢!

2 个答案:

答案 0 :(得分:64)

a = ["1","2","3","4","5","6"]
b = ["1","3"]
c = a - b

相同
c = a.reject{ |e| b.include? e }

答案 1 :(得分:2)

如果要通过删除另一个数组中的元素来修改现有数组,可以使用减去等于。

a = [1, 2, 3, 1, 4]
b = [1, 4]
a -= b
a
=> [2, 3]

还要记住,从另一个数组中减去一个元素数组将删除所有这些元素,而不仅仅是第一次出现。