От массива до двумерного массива, разделенного на 2 значения - PullRequest
1 голос
/ 06 октября 2019

У меня есть массив:

arr =["112000666", "10", "111282637", "15", "111342625", "12", "112000674",
      "11", "111488203", "18", "111237150", "20"]

Есть ли способ сделать 2D-массив и разделить на 2 значения? Примерно так:

[["112000666", "10"], ["111282637", "15"], ["111342625", "12"],
 ["112000674", "11"], ["111488203", "18"], ["111237150", "20"]]

Количество элементов всегда будет четным.

Ответы [ 2 ]

4 голосов
/ 06 октября 2019

Для рельсов вы можете использовать in_groups_of метод:

arr.in_groups_of(2)
  #=> [["112000666", "10"], ["111282637", "15"], ["111342625", "12"],
  #    ["112000674", "11"], ["111488203", "18"], ["111237150", "20"]]
3 голосов
/ 06 октября 2019

Чистый Рубин:

arr.each_slice(2).to_a
  #=> [["112000666", "10"], ["111282637", "15"], ["111342625", "12"],
  #    ["112000674", "11"], ["111488203", "18"], ["111237150", "20"]]

См. Enumerable # each_slice .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...