Dzielenie tablicy na fragmenty w JavaScript polega na podzieleniu tablicy na mniejsze tablice o określonym rozmiarze. Proces ten jest przydatny do efektywniejszego zarządzania dużymi zbiorami danych lub do przetwarzania danych w mniejszych, łatwiejszych w zarządzaniu fragmentach w aplikacji.
Metody dzielenia tablicy na kawałki:
Spis treści
- Używanie metody JavaScript Slice().
- Korzystanie z metody splice() JavaScript
- Korzystanie z metody Lodash _.chunk().
- Użycie pętli do podziału tablicy
- Używanie Array.reduce():
- Korzystanie z Array.from() i Array.splice()
Używanie metody JavaScript Slice().
The metoda plasterka (). zwraca nową tablicę zawierającą wybrane elementy. Metoda ta wybiera elementy rozpoczynające się od podanego argumentu start i kończące się na, ale z wyłączeniem podanego argumentu końcowego.
Składnia:
array.slice(start, end);>
Przykład: W tym przykładzie zastosowano plasterek() metoda podziału tablicy na fragmenty tablicy. Tej metody można używać wielokrotnie do dzielenia tablicy o dowolnym rozmiarze.
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);> Wyjście
Array1: 1,2,3,4 Array2: 5,6,7,8>
Korzystanie z metody splice() JavaScript
metoda splice(). dodaje/usuwa elementy do/z tablicy i zwraca listę usuniętych elementów.
Składnia:
array.splice(index, number, item1, ....., itemN);>
Przykład: W tym przykładzie zastosowano splatać() metoda podziału tablicy na fragmenty tablicy. Ta metoda usuwa elementy z oryginalnej tablicy. Tej metody można używać wielokrotnie do dzielenia tablicy o dowolnym rozmiarze.
javac nie jest rozpoznawanyJavaScript
// 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);> Wyjście
Array1: 1,2 Array2: 3,4 Array3: 5,6 Array4: 7,8>
Za pomocą Metoda Lodash _.chunk().
W tym podejściu używamy Metoda Lodash _.chunk(). która zwraca podaną tablicę w kawałkach zgodnie z podaną wartością.
Przykład: W tym przykładzie rozbijamy tablicę, przekazując rozmiar „3” do metody _.chunk(). Rozmiar porcji można zmieniać, a w funkcji porcji można używać tablicy różnych typów danych.
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))> Wyjście:
Before: [ 1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd' ] After: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 'a', 'b', 'c' ], [ 'd' ] ]>
Użycie pętli do podziału tablicy
W tym podejściu iterujemy po oryginalnej tablicy i dzielimy ją na kawałki o żądanym rozmiarze, umieszczając każdy fragment w nowej tablicy.
Przykład:
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);> Wyjście
[ [ 1, 2, 3, 4 ], [ 5, 6, 7, 8 ] ]>
Korzystanie z funkcji Array.reduce()
Za pomocą Tablica.reduce() , podziel tablicę na fragmenty o określonym rozmiarze. Funkcja redukcji gromadzi fragmenty na podstawie chunkSize, wypychając pokrojone fragmenty tablicy do tablicy chunks i zwraca wynikową tablicę fragmentów.
Przykład: W tym przykładzie dzielimy tablicę na fragmenty o określonym rozmiarze, korzystając z metody redukcji. Wykonuje iterację po tablicy, wypychając podtablice o zdefiniowanym rozmiarze fragmentu do wynikowej tablicy.
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 % porcji === 0) { wynik.push(arr.slice(indeks, indeks + porcja)); } zwróć wynik; }, []); // Wyświetl wynik splittedArrays.forEach((subArray, indeks) => { console.log(`Array${index + 1}: ${subArray}`); });> Wyjście
Array1: 1,2,3,4 Array2: 5,6,7,8>
Korzystanie z Array.from() i Array.splice()
Ta metoda polega na utworzeniu nowej tablicy z oryginalnej tablicy za pomocą Array.from(), a następnie wielokrotnym usuwaniu z niej elementów za pomocą splice() w celu utworzenia fragmentów.
Przykład: W tym przykładzie funkcja chunkArray dzieli tablicę na fragmenty o określonym rozmiarze. Tworzy kopię oryginalnej tablicy i iteracyjnie wyodrębnia fragmenty na podstawie rozmiaru porcji, aż tablica będzie pusta.
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)); } zwróć fragmenty; } // Przykładowe użycie: const arr = [1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd']; stała wielkość porcji = 3; const chunks = chunkArray(arr, chunkSize); konsola.log(fragmenty);> Wyjście
[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 'a', 'b', 'c' ], [ 'd' ] ]>