Страницы

Поиск по вопросам

пятница, 31 января 2020 г.

Как разбить массив на подмассивы?

#javascript #nodejs


Допустим, есть массив из 233 элементов: [{},{},{},...,{}];

Как разбить такой массив на подмассивы, чтобы в каждом подмассиве было не более 100
элементов? (число элементов может меняться)

Например так:
[ [0-99], [100-199], [200-232] ];
    


Ответы

Ответ 1



Одно из решений, через цикл: let array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; //массив, можно использовать массив объектов let size = 3; //размер подмассива let subarray = []; //массив в который будет выведен результат. for (let i = 0; i

Ответ 2



Вот вариант Разбивает массив на подмассивы размера 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);

Ответ 3



Можно сделать таким образом: // Создаем массив из 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);

Ответ 4



Тоже поучаствую: 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);

Ответ 5



const array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; const array_size = 3; const sliced_array = []; for (let i = 0; i

Комментариев нет:

Отправить комментарий