Masīva sadalīšana gabalos JavaScript ietver masīva sadalīšanu mazākos noteikta izmēra masīvos. Šis process ir noderīgs, lai efektīvāk pārvaldītu lielas datu kopas vai apstrādātu datus mazākās, vieglāk pārvaldāmās lietojumprogrammas daļās.
Metodes masīva sadalīšanai gabalos:
Satura rādītājs
- Izmantojot JavaScript slice() metodi
- Izmantojot JavaScript splice() metodi
- Izmantojot Lodash _.chunk() metodi
- Cilpas izmantošana masīva sadalīšanai
- Izmantojot Array.reduce():
- Izmantojot Array.from() un Array.splice()
Izmantojot JavaScript slice() metodi
The šķēle () metode atgriež jaunu masīvu, kurā ir atlasītie elementi. Šī metode atlasa elementus, sākot no dotā sākuma argumenta un beidzas ar, bet izslēdzot doto beigu argumentu.
Sintakse:
array.slice(start, end);>
Piemērs: Šajā piemērā tiek izmantots šķēle () metode masīva sadalīšanai masīva gabalos. Šo metodi var izmantot atkārtoti, lai sadalītu jebkura izmēra masīvu.
Javascript // Size of chunk let chunk = 4; // Input array let arr = [1, 2, 3, 4, 5, 6, 7, 8]; // Spiltted arrays let arr1 = arr.slice(0, chunk); let arr2 = arr.slice(chunk, chunk + arr.length); // Display Output console.log('Array1: ' + arr1 + '
Array2: ' + arr2);> Izvade
Array1: 1,2,3,4 Array2: 5,6,7,8>
Izmantojot JavaScript splice() metodi
splice() metode pievieno/noņem vienumus masīvam/no tā un atgriež noņemto(-o) vienumu(-u) sarakstu.
Sintakse:
array.splice(index, number, item1, ....., itemN);>
Piemērs: Šajā piemērā tiek izmantots savienojums () metode masīva sadalīšanai masīva gabalos. Šī metode noņem vienumus no sākotnējā masīva. Šo metodi var izmantot atkārtoti, lai sadalītu jebkura izmēra masīvu.
linkedlist un masīvu sarakstsJavascript
// Size of aaray chunks let chunk = 2; // Input array let arr = [1, 2, 3, 4, 5, 6, 7, 8]; // Splitted arrays let arr1 = arr.splice(0, chunk); let arr2 = arr.splice(0, chunk); let arr3 = arr.splice(0, chunk); let arr4 = arr.splice(0, chunk); // Display output console.log('Array1: ' + arr1); console.log('Array2: ' + arr2); console.log('Array3: ' + arr3); console.log('Array4: ' + arr4);> Izvade
Array1: 1,2 Array2: 3,4 Array3: 5,6 Array4: 7,8>
Izmantojot Lodash _.chunk() Metode
Šajā pieejā mēs izmantojam Lodash _.chunk() metode kas atgriež doto masīvu gabalos atbilstoši norādītajai vērtībai.
Piemērs: Šajā piemērā mēs sadalām masīvu, nododot izmēru “3” metodei _.chunk(). Daļas lielumu var mainīt, un ar gabala funkciju var izmantot dažādu datu tipu masīvu.
Javascript // Requiring the lodash module // in the script let _ = require('lodash'); let arr = [1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd']; console.log('Before: ', arr) // Making chunks of size 3 console.log('After: ', _.chunk(arr, 3))> Izvade:
Before: [ 1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd' ] After: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 'a', 'b', 'c' ], [ 'd' ] ]>
Cilpas izmantošana masīva sadalīšanai
Izmantojot šo pieeju, mēs atkārtojam sākotnējo masīvu un sagriežam to vajadzīgā izmēra gabalos, katru daļu nospiežot jaunā masīvā.
Piemērs:
JavaScript function chunkArray(array, chunkSize) { const chunks = []; for (let i = 0; i < array.length; i += chunkSize) { chunks.push(array.slice(i, i + chunkSize)); } return chunks; } const arr = [1, 2, 3, 4, 5, 6, 7, 8]; const chunkedArray = chunkArray(arr, 4); console.log(chunkedArray);> Izvade
[ [ 1, 2, 3, 4 ], [ 5, 6, 7, 8 ] ]>
Izmantojot Array.reduce()
Izmantojot Array.reduce() , sadaliet masīvu noteikta izmēra gabalos. Samazināšanas funkcija uzkrāj gabalus, pamatojoties uz chunkSize, iespiežot masīva šķēlēs daļas gabalu masīvā, un atgriež iegūto gabalu masīvu.
Piemērs: Šajā piemērā mēs sadalām masīvu noteikta izmēra gabalos, izmantojot samazināšanas metodi. Tas atkārtojas caur masīvu, nospiežot noteiktā gabala lieluma apakšblokus iegūtajā masīvā.
JavaScript // Size of chunk let chunk = 4; // Input array let arr = [1, 2, 3, 4, 5, 6, 7, 8]; // Split array into chunks using reduce method let splittedArrays = arr.reduce((result, item, index) =>{ if (index % chunk === 0) { result.push(arr.slice(index, index + chunk)); } atgriešanās rezultāts; }, []); // Displeja izvade splittedArrays.forEach((subArray, index) => { console.log(`Array${index + 1}: ${subArray}`); });>>
Izvade Izmantojot Array.from() un Array.splice()Šī metode ietver jauna masīva izveidi no sākotnējā masīva, izmantojot Array.from(), un pēc tam vairākkārt no tā elementu noņemšanu, izmantojot splice(), lai izveidotu gabalus.
Piemērs: Šajā piemērā funkcija chunkArray sadala masīvu noteikta izmēra gabalos. Tas izveido sākotnējā masīva kopiju un iteratīvi izvelk daļas, pamatojoties uz gabala lielumu, līdz masīvs ir tukšs.
JavaScript function chunkArray(array, chunkSize) { const chunks = []; const copyArray = Array.from(array); // Create a copy of the original array while (copyArray.length>0) { chunks.push(copyArray.splice(0, chunkSize)); } return chunks; } // Lietojuma piemērs: const arr = [1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd']; const chunkSize = 3; const chunks = chunkArray(arr, chunkSize); konsole.log(gabali);>>
Izvade