Add element to an array if it's not there already

后端 未结 6 499
逝去的感伤
逝去的感伤 2021-01-30 12:02

I have a Ruby class

class MyClass
  attr_writer :item1, :item2
end

my_array = get_array_of_my_class() #my_array is an array of MyClass
unique_array_of_item1 = [         


        
6条回答
  •  借酒劲吻你
    2021-01-30 13:00

    You don't need to iterate through my_array by hand.

    my_array.push(item1) unless my_array.include?(item1)
    

    Edit:

    As Tombart points out in his comment, using Array#include? is not very efficient. I'd say the performance impact is negligible for small Arrays, but you might want to go with Set for bigger ones.

提交回复
热议问题