@levits

Как разбить массив на равные части?

Есть массив:

[1,2,3,4,5,3,4,2,5,2,4,4,1,nil,'uuusk',616,8,12,42,34,23,42,31,nil,'jojo']

Нужно разбить его на три массива примерно равной длины.
  • Вопрос задан
  • 295 просмотров
Пригласить эксперта
Ответы на вопрос 2
vabka
@vabka
Токсичный шарпист
Ответ легко ищется поисковиком

a = [0, 1, 2, 3, 4, 5, 6, 7]
a.each_slice(3) # => #<Enumerator: [0, 1, 2, 3, 4, 5, 6, 7]:each_slice(3)>
a.each_slice(3).to_a # => [[0, 1, 2], [3, 4, 5], [6, 7]]

https://rdoc.info/stdlib/core/Enumerable#each_slic...
Ответ написан
longclaps
@longclaps
l = [1, 2, 3, 4, 5, 3, 4, 2, 5, 2, 4, 4, 1, nil, "uuusk",
     616, 8, 12, 42, 34, 23, 42, 31, nil, "jojo"]
le = l.length / 3
p l[0..le]
p l[le..le * 2]
p l[le * 2..]
А ты что, правда левит? И как?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы