#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
Комментариев нет:
Отправить комментарий