2015-06-06 5 views
1

У меня есть этот массив:Объединить массивы внутри массивов

a = [[1,2,3,4,5],[3,5,6,8,12,45],[3,2,1,5,7,9,10,11],[3,5,6,8,2,1,3,4,6]] 

Я хочу, чтобы объединить свои внутренние массивы так, чтобы они стали:

a = [[1,2,3,4,5,3,5,6,8,12,45],[3,2,1,5,7,9,10,11,3,5,6,8,2,1,3,4,6]] 

Как я могу это сделать?

ответ

5

Вам нужно сделать

a = [ 
    [1, 2, 3, 4, 5], 
    [3, 5, 6, 8, 12, 45], 
    [3, 2, 1, 5, 7, 9, 10, 11], 
    [3, 5, 6, 8, 2, 1, 3, 4, 6] 
] 

a.each_slice(2).map(&:flatten) 

# => [ 
#  [1, 2, 3, 4, 5, 3, 5, 6, 8, 12, 45], 
#  [3, 2, 1, 5, 7, 9, 10, 11, 3, 5, 6, 8, 2, 1, 3, 4, 6] 
# ] 

Читать метод each_slice(n)

итерацию данный блок для каждого ломтика n элементов. Если ни один блок не указан, возвращается счетчик.

Смежные вопросы