//DEVGURU

Marcin Stecki @ October 26th, 2009

Ruby and RoR – picking every n-th element of an array

def every_nth(nr)
self.in_groups_of(nr).map(&:first)
end
def every_nth!(nr)
self.replace(self.every_nth(nr))
end
Picking every n-th element of an array might look like this: (via @d3x)

Define:


class Array
  def every_nth(nr)
    self.in_groups_of(nr).map(&:first)
  end
  def every_nth!(nr
    self.replace(self.every_nth(nr))
  end
end

and use:


>> (1..9).to_a.every_nth(3)
=> [1, 4, 7]

Comment this post!