# Building an array which contains arrays grouped by 3 items (in a line)

**URL:** <https://www.ruby-forum.com/t/building-an-array-which-contains-arrays-grouped-by-3-items-in-a-line/143288>\
**Category:** Rails\
**Created:** [July 17, 2008, 12:30am UTC](https://www.ruby-forum.com/t/building-an-array-which-contains-arrays-grouped-by-3-items-in-a-line/143288 "2008-07-17T00:30:32Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![paco.onrails](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/fbc32d/32.png) [@paco.onrails](https://www.ruby-forum.com/u/paco.onrails)\
**Post date:** [July 17, 2008, 12:30am UTC](https://www.ruby-forum.com/t/building-an-array-which-contains-arrays-grouped-by-3-items-in-a-line/143288/1 "2008-07-17T00:30:32Z")

</div>

Hello again.  
I have an array which contains several items (Array\_a) and what I need  
is create a new array (Array\_b) which includes same items of Array\_a,  
but grouped in arrays within 3 items each.

For example:

Array\_a: [‘a1’,‘a2’,‘a3’,‘b1’,‘b2’,‘b3’,‘c1’,‘c2’,‘c3’,‘d1’,‘d2’,‘d3’]

After iteration:

Array\_b: [[‘a1’,‘a2’,‘a3’],[‘b1’,‘b2’,‘b3’],[‘c1’,‘c2’,‘c3’],  
[‘d1’,‘d2’,‘d3’] ]

Can anybody give me an idea of what iteration can I use to get that?  
If it could be done in one single line, much better. Thanks a lot.

Best!

Paco Reyes  
Interaction Designer

> **[Xentido](https://xentido.com/)**
>
> Xentido

---

<div class="post-metadata">

**Author:** ![paco.onrails](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/fbc32d/32.png) [@paco.onrails](https://www.ruby-forum.com/u/paco.onrails)\
**Post date:** [July 17, 2008, 3:39am UTC](https://www.ruby-forum.com/t/building-an-array-which-contains-arrays-grouped-by-3-items-in-a-line/143288/2 "2008-07-17T03:39:18Z")

</div>

paco.onrails wrote:

> Hello again.  
> I have an array which contains several items (Array\_a) and what I need  
> is create a new array (Array\_b) which includes same items of Array\_a,  
> but grouped in arrays within 3 items each.
> 
> For example:
> 
> Array\_a: [‘a1’,‘a2’,‘a3’,‘b1’,‘b2’,‘b3’,‘c1’,‘c2’,‘c3’,‘d1’,‘d2’,‘d3’]
> 
> After iteration:
> 
> Array\_b: [[‘a1’,‘a2’,‘a3’],[‘b1’,‘b2’,‘b3’],[‘c1’,‘c2’,‘c3’],  
> [‘d1’,‘d2’,‘d3’] ]
> 
> Can anybody give me an idea of what iteration can I use to get that?  
> If it could be done in one single line, much better. Thanks a lot.
> 
> Best!
> 
> Paco Reyes  
> Interaction Designer  
> [www.xentido.com](http://www.xentido.com)

Hi Paco,

Take a look at in\_groups\_of.

[http://www.railsbrain.com/api/rails-2.0.2/doc/index.html?a=M001093&name=in\_groups\_of](http://www.railsbrain.com/api/rails-2.0.2/doc/index.html?a=M001093&name=in_groups_of)

Peace,  
Phillip
