Masyvo padalijimas į dalis „JavaScript“. apima masyvo padalijimą į mažesnius nurodyto dydžio masyvus. Šis procesas yra naudingas norint efektyviau valdyti didelius duomenų rinkinius arba apdoroti duomenis mažesnėse, lengviau valdomose programos dalyse.
Masyvo padalijimo į dalis būdai:
Turinys
- Naudojant JavaScript slice() metodą
- Naudojant JavaScript splice() metodą
- Naudojant Lodash _.chunk() metodą
- Ciklo naudojimas masyvo padalijimui
- Naudojant Array.reduce():
- Naudojant Array.from() ir Array.splice()
Naudojant JavaScript slice() metodą
The gabalo () metodas grąžina naują masyvą su pasirinktais elementais. Šis metodas parenka elementus, pradedant nuo nurodyto pradžios argumento ir baigiasi ties, bet neįtraukiant nurodyto pabaigos argumento.
Sintaksė:
array.slice(start, end);>
Pavyzdys: Šiame pavyzdyje naudojama gabalas () būdas padalyti masyvą į masyvo dalis. Šis metodas gali būti naudojamas pakartotinai, norint padalinti bet kokio dydžio masyvą.
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);> Išvestis
Array1: 1,2,3,4 Array2: 5,6,7,8>
Naudojant JavaScript splice() metodą
splice() metodas prideda / pašalina elementus į masyvą / iš jo ir grąžina pašalintų elementų sąrašą.
Sintaksė:
array.splice(index, number, item1, ....., itemN);>
Pavyzdys: Šiame pavyzdyje naudojama sandūra () būdas padalyti masyvą į masyvo dalis. Šis metodas pašalina elementus iš pradinio masyvo. Šis metodas gali būti naudojamas pakartotinai, norint padalinti bet kokio dydžio masyvą.
registro atmintisJavascript
// 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);> Išvestis
Array1: 1,2 Array2: 3,4 Array3: 5,6 Array4: 7,8>
Naudojant Lodash _.chunk() Metodas
Šiuo požiūriu mes naudojame Lodash _.chunk() metodas kuris grąžina nurodytą masyvą dalimis pagal nurodytą reikšmę.
Pavyzdys: Šiame pavyzdyje mes suskaidome masyvą, pervesdami dydį „3“ į _.chunk() metodą. Dalies dydis gali būti įvairus, o skirtingų duomenų tipų masyvas gali būti naudojamas su gabalo funkcija.
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))> Išvestis:
Before: [ 1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd' ] After: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 'a', 'b', 'c' ], [ 'd' ] ]>
Ciklo naudojimas masyvo padalijimui
Taikydami šį metodą, pakartojame pradinį masyvą ir supjaustome jį į norimo dydžio gabalus, kiekvieną gabalą stumdami į naują masyvą.
Pavyzdys:
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);> Išvestis
[ [ 1, 2, 3, 4 ], [ 5, 6, 7, 8 ] ]>
Naudojant Array.reduce()
Naudojant Array.reduce() , padalinkite masyvą į nurodyto dydžio dalis. Funkcija Sumažinti kaupia gabalus pagal chunkSize, įstumdama supjaustytas masyvo dalis į gabalų masyvą ir grąžina gautą dalių masyvą.
Pavyzdys: Šiame pavyzdyje mes padalijame masyvą į nurodyto dydžio dalis, naudodami mažinimo metodą. Jis kartojasi per masyvą, į gautą masyvą įstumdamas apibrėžto gabalo dydžio pogrupius.
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)); } grąžinti rezultatą; }, []); // Vaizdo išvestis splittedArrays.forEach((subArray, index) => { console.log(`Array${index + 1}: ${subArray}`); });>>
Išvestis Naudojant Array.from() ir Array.splice()Šis metodas apima naujo masyvo sukūrimą iš pradinio masyvo naudojant Array.from() ir pakartotinai pašalinant elementus iš jo naudojant splice(), kad būtų suformuoti gabalai.
Pavyzdys: Šiame pavyzdyje funkcija chunkArray padalija masyvą į nurodyto dydžio dalis. Jis sukuria originalaus masyvo kopiją ir pakartotinai ištraukia dalis pagal gabalo dydį, kol masyvas bus tuščias.
JavaScript function chunkArray(array, chunkSize) { const chunks = []; const copyArray = Array.from(array); // Create a copy of the original array while (copyArray.length>0) { gabalai.push(copyArray.splice(0, gabalo dydis)); } return chunks; } // Naudojimo pavyzdys: const arr = [1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd']; const gabalo dydis = 3; const chunks = chunkArray(arr, chunkSize); console.log(chunks);>>
Išvestis