Suppose there is an array of 233 elements: [{},{},{},...,{}] ;
How to break such an array into subarrays, so that each subarray has no more than 100 elements? (number of elements may vary)
For example: [ [0-99], [100-199], [200-232] ] ;
Suppose there is an array of 233 elements: [{},{},{},...,{}] ;
How to break such an array into subarrays, so that each subarray has no more than 100 elements? (number of elements may vary)
For example: [ [0-99], [100-199], [200-232] ] ;
One solution, through the cycle:
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); Here is an option
Splits an array into SIZE size subarrays
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); You can do this:
// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· 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); Also take part:
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); const array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; const array_size = 3; const sliced_array = []; for (let i = 0; i <array.length; i += array_size) { sliced_array.push(array.slice(i, i + array_size)); } console.log(sliced_array); Source: https://ru.stackoverflow.com/questions/732389/
All Articles