Разбить массив на куски длиной N

javascript arrays

87854 просмотра

2 ответа

Как разбить массив (который имеет 10 элементов) на 4 блока, которые содержат максимум nэлементов.

var a = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'];
//a function splits it to four arrays.
console.log(b, c, d, e);

И это печатает:

['a', 'b', 'c']
['d', 'e', 'f']
['j', 'h', 'i']
['j']

Выше предполагается n = 3, однако, значение должно быть динамическим.

Спасибо

Автор: mrdaliri Источник Размещён: 12.11.2019 09:43

Ответы (2)


181 плюса

Это может быть что-то вроде этого:

var arrays = [], size = 3;

while (a.length > 0)
    arrays.push(a.splice(0, size));

console.log(arrays);

Смотрите метод сращивания массива.

Автор: ZER0 Размещён: 03.07.2012 08:36

67 плюса

Может быть, этот код помогает:

var chunk_size = 10;
var arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17];
var groups = arr.map( function(e,i){ 
     return i%chunk_size===0 ? arr.slice(i,i+chunk_size) : null; 
}).filter(function(e){ return e; });
console.log({arr, groups})

Автор: Mirodil Размещён: 30.10.2013 10:17
Вопросы из категории :
32x32