我有一个数组...说
arr= [:a, :b, :c, :d, :b, :a, :q]
我想删除所有:b
and:c
的
我可以.delete
在一行中使用该方法完成此操作吗?
我知道这arr.delete(:b)
会删除:b
,我知道arr.delete(:c)
会删除:c
,但是如何在一行中删除两者?
我尝试了不同的变体:
arr.delete(:c,:d)
没有运气。
IMO 您可以delete_if
在这种情况下使用:
array = [ :a, :b, :c ]
array.delete_if {|x| [:b,:c].include?(x) } #=> [:a]
更多关于Array#delete_if
delete_if
您也可以使用拒绝!为了这:
arr.reject!{|element| [:b, :c].include?(element)} #=> [:a, :d, :a, :q]