Deler opp en matrise i biter i JavaScript innebærer å dele opp matrisen i mindre matriser av en spesifisert størrelse. Denne prosessen er nyttig for å administrere store datasett mer effektivt eller for å behandle data i mindre, mer håndterbare deler i applikasjonen.
Metoder for å dele opp arrayet i biter:
Innholdsfortegnelse
- Bruker JavaScript slice()-metoden
- Bruker JavaScript splice()-metoden
- Bruker Lodash _.chunk()-metoden
- Bruke en sløyfe for å dele opp matrisen
- Bruk av Array.reduce():
- Bruke Array.from() og Array.splice()
Bruker JavaScript slice()-metoden
De skive () metode returnerer en ny matrise som inneholder de valgte elementene. Denne metoden velger elementene som starter fra det gitte startargumentet og slutter på, men ekskluderer det gitte sluttargumentet.
Syntaks:
array.slice(start, end);>
Eksempel: Dette eksemplet bruker skive() metode for å dele opp matrisen i biter av matrisen. Denne metoden kan brukes gjentatte ganger for å dele opp en rekke av alle størrelser.
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);> Produksjon
Array1: 1,2,3,4 Array2: 5,6,7,8>
Bruker JavaScript splice()-metoden
spleise() metode legger til/fjerner elementer til/fra en matrise, og returnerer listen over fjernede elementer.
Syntaks:
array.splice(index, number, item1, ....., itemN);>
Eksempel: Dette eksemplet bruker skjøte() metode for å dele opp matrisen i biter av matrisen. Denne metoden fjerner elementene fra den opprinnelige matrisen. Denne metoden kan brukes gjentatte ganger for å dele opp en rekke av alle størrelser.
int å dobleJavascript
// 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);> Produksjon
Array1: 1,2 Array2: 3,4 Array3: 5,6 Array4: 7,8>
Ved hjelp av Lodash _.chunk() metode
I denne tilnærmingen bruker vi Lodash _.chunk()-metoden som returnerer den gitte matrisen i biter i henhold til den gitte verdien.
Eksempel: I dette eksemplet bryter vi matrisen ved å sende størrelsen '3' inn i _.chunk()-metoden. Størrelsen på chunk kan varieres og en rekke forskjellige datatyper kan brukes med chunk-funksjon.
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))> Produksjon:
Before: [ 1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd' ] After: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 'a', 'b', 'c' ], [ 'd' ] ]>
Bruke en sløyfe for å dele opp matrisen
I denne tilnærmingen itererer vi over den originale matrisen og deler den i biter av ønsket størrelse, og skyver hver del inn i en ny matrise.
Eksempel:
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);> Produksjon
[ [ 1, 2, 3, 4 ], [ 5, 6, 7, 8 ] ]>
Bruke Array.reduce()
Ved hjelp av Array.reduce() , del en matrise i biter av en spesifisert størrelse. Reduseringsfunksjonen akkumulerer biter basert på chunkSize, og skyver skivede deler av arrayet inn i chunks array, og returnerer den resulterende arrayen av chunks.
Eksempel: I dette eksemplet deler vi en matrise i biter av en spesifisert størrelse ved å bruke reduseringsmetoden. Den itererer gjennom arrayen, og skyver underarrayer med den definerte klumpstørrelsen inn i en resulterende array.
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 (indeks % chunk === 0) { result.push(arr.slice(index, index + chunk)); } returner resultat; }, []); // Display Output splittedArrays.forEach((subArray, index) => { console.log(`Array${index + 1}: ${subArray}`); });> Produksjon
Array1: 1,2,3,4 Array2: 5,6,7,8>
Bruke Array.from() og Array.splice()
Denne metoden innebærer å lage en ny matrise fra den opprinnelige matrisen ved å bruke Array.from() og deretter gjentatte ganger fjerne elementer fra den ved å bruke splice() for å danne biter.
Eksempel: I dette eksemplet deler chunkArray-funksjonen en matrise i biter av en spesifisert størrelse. Den lager en kopi av den originale matrisen og trekker iterativt ut deler basert på klumpstørrelsen til matrisen er tom.
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)); } returner biter; } // Eksempelbruk: const arr = [1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd']; const chunkSize = 3; const chunks = chunkArray(arr, chunkSize); console.log(biter);> Produksjon
[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 'a', 'b', 'c' ], [ 'd' ] ]>