Împărțirea unei matrice în bucăți în JavaScript implică împărțirea matricei în matrice mai mici de o dimensiune specificată. Acest proces este util pentru gestionarea mai eficientă a seturilor de date mari sau pentru procesarea datelor în porțiuni mai mici și mai ușor de gestionat în cadrul aplicației.
Metode de împărțire a matricei în bucăți:
Cuprins
- Folosind metoda JavaScript slice().
- Folosind metoda JavaScript splice().
- Folosind metoda Lodash _.chunk().
- Utilizarea unei bucle pentru a împărți matricea
- Folosind Array.reduce():
- Folosind Array.from() și Array.splice()
Folosind metoda JavaScript slice().
The metoda feliei (). returnează o nouă matrice care conține elementele selectate. Această metodă selectează elementele pornind de la argumentul de început dat și se termină la, dar excluzând argumentul de final dat.
Sintaxă:
array.slice(start, end);>
Exemplu: Acest exemplu folosește felie() metoda de împărțire a matricei în bucăți ale matricei. Această metodă poate fi folosită în mod repetat pentru a împărți o matrice de orice dimensiune.
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);> Ieșire
Array1: 1,2,3,4 Array2: 5,6,7,8>
Folosind metoda JavaScript splice().
metoda splice(). adaugă/elimină articole într-o matrice și returnează lista cu articolele eliminate.
Sintaxă:
array.splice(index, number, item1, ....., itemN);>
Exemplu: Acest exemplu folosește lipitură() metoda de împărțire a matricei în bucăți ale matricei. Această metodă elimină elementele din matricea originală. Această metodă poate fi folosită în mod repetat pentru a împărți o matrice de orice dimensiune.
javafx pe eclipseJavascript
// 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);> Ieșire
Array1: 1,2 Array2: 3,4 Array3: 5,6 Array4: 7,8>
Folosind Metoda Lodash _.chunk().
În această abordare, folosim Metoda Lodash _.chunk(). care returnează matricea dată în bucăți în funcție de valoarea dată.
Exemplu: În acest exemplu, spargem matricea pasând dimensiunea „3” în metoda _.chunk(). Dimensiunea chunk poate fi variată și matrice de diferite tipuri de date poate fi utilizată cu funcția chunk.
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))> Ieșire:
Before: [ 1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd' ] After: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 'a', 'b', 'c' ], [ 'd' ] ]>
Utilizarea unei bucle pentru a împărți matricea
În această abordare, iterăm peste matricea originală și o tăiem în bucăți de dimensiunea dorită, împingând fiecare bucată într-o matrice nouă.
Exemplu:
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);> Ieșire
[ [ 1, 2, 3, 4 ], [ 5, 6, 7, 8 ] ]>
Folosind Array.reduce()
Folosind Array.reduce() , împărțiți o matrice în bucăți de o dimensiune specificată. Funcția reduce acumulează bucăți pe baza chunkSize, împingând porțiuni tăiate ale matricei în matricea chunks și returnează matricea de bucăți rezultată.
Exemplu: În acest exemplu, împărțim o matrice în bucăți de o dimensiune specificată folosind metoda reduce. Acesta iterează prin matrice, împingând sub-matrice cu dimensiunea definită a bucății într-o matrice rezultată.
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)); } returnează rezultatul; }, []); // Afișează ieșirea splittedArrays.forEach((subArray, index) => { console.log(`Array${index + 1}: ${subArray}`); });>>>
Ieșire Array1: 1,2,3,4 Array2: 5,6,7,8>
Folosind Array.from() și Array.splice()
Această metodă implică crearea unei noi matrice din tabloul original folosind Array.from() și apoi îndepărtarea în mod repetat a elementelor din acesta folosind splice() pentru a forma bucăți.
Exemplu: În acest exemplu, funcția chunkArray împarte o matrice în bucăți de o dimensiune specificată. Acesta creează o copie a matricei originale și extrage iterativ porțiuni pe baza dimensiunii bucăților până când matricea este goală.
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)); } returnează bucăți; } // Exemplu de utilizare: const arr = [1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd']; const chunkSize = 3; const chunks = chunkArray(arr, chunkSize); console.log(bucăți);>> Ieșire