19

配列からいくつかの要素を削除して選択するにはどうすればよいですか?

例えば:

class Foo 
  def initialize
    @a = [1,2,3,4,5,6,7,8,9]
  end

  def get_a
    return @a
  end
end

foo = Foo.new
b = foo.get_a.sth{ |e| e < 4 }
p b # => [1,2,3]
p foo.get_a # => [4,5,6,7,8,9,10]

の代わりに何を使用できますfoo.get_a.sthか?

4

5 に答える 5

2

アイテムを 1 つだけ削除する場合は、配列を複製する必要はありません。

array = [{ id: 1 }, { id: 2 }, {id: 3 }]
array.delete_at(array.find_index { |element| element[:id] == 1 })
#=> {:id=>1} 
于 2014-02-24T02:02:09.413 に答える