1

I have a Ruby array:

array1 = [0,1,2,3,4,5,6,7,8,9]

I need to turn it to a multi-dimensional array splitting each its consequent 3 (or less if last) members into a sub-array:

array2 = [[0,1,2],[3,4,5],[6,7,8],[9]]

How can I do that?

prograils
  • 2,248
  • 1
  • 28
  • 45

1 Answers1

3

each_slice is what you're looking for

array1.each_slice(3).to_a
 => [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]] 
Ursus
  • 29,643
  • 3
  • 33
  • 50