Matriisin jakaminen osiin JavaScriptissä sisältää taulukon jakamisen tietyn kokoisiksi pienempiin taulukoihin. Tämä prosessi on hyödyllinen suurten tietojoukkojen tehokkaampaan hallintaan tai tietojen käsittelyyn sovelluksen pienemmissä, paremmin hallittavissa olevissa osissa.
Menetelmät taulukon jakamiseksi osiin:
Sisällysluettelo
- JavaScript slice() -menetelmän käyttäminen
- JavaScript splice() -menetelmän käyttäminen
- Käyttämällä Lodash _.chunk() -menetelmää
- Silmukan käyttäminen taulukon jakamiseen
- Array.reduce():
- Array.from() ja Array.splice()
JavaScript slice() -menetelmän käyttäminen
The slice () -menetelmä palauttaa uuden taulukon, joka sisältää valitut elementit. Tämä menetelmä valitsee elementit alkaen annetusta aloitusargumentista ja päättyy kohtaan, mutta jättää annetun loppuargumentin pois.
Syntaksi:
array.slice(start, end);>
Esimerkki: Tässä esimerkissä käytetään viipale() tapa jakaa taulukko taulukon osiin. Tätä menetelmää voidaan käyttää toistuvasti minkä tahansa kokoisen taulukon jakamiseen.
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);>
Lähtö
Array1: 1,2,3,4 Array2: 5,6,7,8>
JavaScript splice() -menetelmän käyttäminen
splice() -menetelmä lisää/poistaa kohteita taulukkoon/poistosta ja palauttaa luettelon poistetuista kohteista.
Syntaksi:
array.splice(index, number, item1, ....., itemN);>
Esimerkki: Tässä esimerkissä käytetään liitos() tapa jakaa taulukko taulukon osiin. Tämä menetelmä poistaa kohteet alkuperäisestä taulukosta. Tätä menetelmää voidaan käyttää toistuvasti minkä tahansa kokoisen taulukon jakamiseen.
kaneli vs mateJavascript
// 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);>
Lähtö
Array1: 1,2 Array2: 3,4 Array3: 5,6 Array4: 7,8>
Käyttämällä Lodash _.chunk() -menetelmä
Tässä lähestymistavassa käytämme Lodash _.chunk() -menetelmä joka palauttaa annetun taulukon paloina annetun arvon mukaan.
Esimerkki: Tässä esimerkissä hajotamme taulukon siirtämällä koon 3 menetelmään _.chunk(). Osan kokoa voidaan vaihdella ja eri tietotyyppien joukkoa voidaan käyttää chunk-toiminnon kanssa.
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))>
Lähtö:
Before: [ 1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd' ] After: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 'a', 'b', 'c' ], [ 'd' ] ]>
Silmukan käyttäminen taulukon jakamiseen
Tässä lähestymistavassa toistamme alkuperäisen taulukon ja leikkaamme sen halutun kokoisiksi paloiksi työntäen jokaisen palan uudeksi matriisiksi.
Esimerkki:
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);>
Lähtö
[ [ 1, 2, 3, 4 ], [ 5, 6, 7, 8 ] ]>
Array.reduce()
Käyttämällä Array.reduce() , jakaa taulukon tietyn kokoisiksi paloiksi. Vähentämistoiminto kerää paloja chunkSize-arvon perusteella, työntää taulukon viipaloidut osat paloiksi ja palauttaa tuloksena olevan lohkoryhmän.
Esimerkki: Tässä esimerkissä jaamme taulukon tietyn kokoisiksi paloiksi pienennysmenetelmällä. Se toistuu taulukon läpi työntäen määritellyn osan kokoisia aliryhmiä tuloksena olevaan taulukkoon.
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 (indeksi % chunk === 0) { tulos.push(arr.slice(indeksi, indeksi + pala)); } palauttaa tuloksen; }, []); // Näyttötulos splittedArrays.forEach((subArray, index) => { console.log(`Array${index + 1}: ${subArray}`); });>>
Lähtö Array.from() ja Array.splice()Tämä menetelmä sisältää uuden taulukon luomisen alkuperäisestä taulukosta käyttämällä Array.from()-komentoa ja sitten elementtien poistamista siitä toistuvasti käyttämällä splice()-komentoa kappaleiden muodostamiseksi.
Esimerkki: Tässä esimerkissä chunkArray-funktio jakaa taulukon tietyn kokoisiksi paloiksi. Se luo kopion alkuperäisestä taulukosta ja poimii iteratiivisesti osia osan koon perusteella, kunnes taulukko on tyhjä.
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)); } palauttaa paloja; } // Käyttöesimerkki: const arr = [1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd']; const chunkSize = 3; const chunks = chunkArray(arr, chunkSize); console.log(chunks);>>
Lähtö