Задать вопрос
SuperPosan
@SuperPosan
Бандит

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

Как разбить массив [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
[0, 3, 6, 9]
[1, 4, 7, 10]
[2, 5, 8, 11]
  • Вопрос задан
  • 11443 просмотра
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию
    6 месяцев
    Далее
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
const splitArr = (arr, chunks) =>
  Array.from(
    { length: chunks },
    (_, c) => arr.filter((n, i) => i % chunks === c)
  );

или

const splitArr = (arr, chunks) =>
  arr.reduce((acc, n, i) => (
    (acc[i % chunks] = acc[i % chunks] || []).push(n),
    acc
  ), []);
Ответ написан
Комментировать
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
https://jsfiddle.net/o4bu14ha/
function colSplit(arr, c){
	var res = new Array(c);
  for(var i=0;i<c;++i){
  	res[i] = [];
  }
  for(var i=0;i<arr.length;++i){
  	res[i%c].push(arr[i]);
  }
  return res;
}

var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];

console.log(colSplit(a, 3))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@urlasd
https://lodash.com/docs/4.17.15#chunk

_.chunk(array, [size=1])

Creates an array of elements split into groups the length of size. If array can't be split evenly, the final chunk will be the remaining elements.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы