How can I delete one element from an array by value

前端 未结 15 1036
独厮守ぢ
独厮守ぢ 2020-12-04 05:16

I have an array of elements in Ruby

[2,4,6,3,8]

I need to remove elements with value 3 for example

How do I do that?<

15条回答
  •  既然无缘
    2020-12-04 05:56

    You can also monkey patch it. I never understood why Ruby has an except method for Hash but not for Array:

    class Array
      def except value
        value = value.kind_of(Array) ? value : [value]
        self - value
      end
    end
    

    Now you can do:

    [1,3,7,"436",354,nil].except(354) #=> [1,3,7,"436",nil]
    

    Or:

    [1,3,7,"436",354,nil].except([354, 1]) #=> [3,7,"436",nil]
    

提交回复
热议问题