logo

Împărțiți o matrice în bucăți în JavaScript

Î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().

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 eclipse
Javascript
// 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