Допустим, есть массив из 233 элементов: [{},{},{},...,{}];
Как разбить такой массив на подмассивы, чтобы в каждом подмассиве было не более 100 элементов? (число элементов может меняться)
Например так:
[ [0-99], [100-199], [200-232] ];
Одно из решений, через цикл:
let array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; //массив, можно использовать массив объектов
let size = 3; //размер подмассива
let subarray = []; //массив в который будет выведен результат.
for (let i = 0; i <Math.ceil(array.length/size); i++){
subarray[i] = array.slice((i*size), (i*size) + size);
}
console.log(subarray);
Вот вариант
Разбивает массив на подмассивы размера SIZE
const s = [{a:1},{a:2},{a:3},{a:4},{a:5},{a:6}];
const SIZE = 4;
const res = s.reduce((p,c)=>{
if(p[p.length-1].length == SIZE){
p.push([]);
}
p[p.length-1].push(c);
return p;
}, [[]]);
console.log(res);
Можно сделать таким образом:
// Создаем массив из 233 элементов
var array = [];
for (var x = 1; x <= 233; x++) {
array.push(x);
}
var subArray = [],
subIndex = -1;
for (var i = 0; i < array.length; i++) {
// Каждые 200 итераций меняем ключ для добавления в подмассив
if (0 === i % 200) {
subIndex++;
}
if (subArray[subIndex] === undefined) {
subArray[subIndex] = [];
}
subArray[subIndex].push(array[i]);
}
console.log(subArray);
Тоже поучаствую:
const array = [], result = [], length = 100; // Объявляем переменные
for (let x = 1; x <= 233; x++) array.push(x); // Собираем массив
while(array.length) result.push(array.splice(0,length)); // Разбираем массив
console.log(result);
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости