@beduin01

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

Есть массив из счисел в котором могут быть выколотые числа т.е. он не последовательный.
var arr = [1,2,4,6,8,14,17,18,19]
Нужно написать функцию которая бы разбивала его на произвольное количество групп с приблизительно равным количеством элементов т.е. к примеру:
2: [1,2,4,6,8], [14,17,18,19]
3: [1,2,4], [6,8,14], [17,18,19]
4: [1,2], [4,6], [8,14], [17,18,19]

и все в этом стиле. Нужно разбитие именно примерное т.е. не страшно куда отойдет число которое не влезает.

Проблема в том, что никак не могу записать алгоритм который бы не терял последний элемент на нечетной длине массива.
  • Вопрос задан
  • 484 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
function split(arr, numParts) {
  const partSize = arr.length / numParts | 0;

  return Array
    .from({ length: numParts }, (n, i) => i * partSize)
    .map((n, i, a) => arr.slice(n, a[i + 1]));
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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