logo

Dela upp en array i bitar i JavaScript

Dela upp en array i bitar i JavaScript innebär att dela upp arrayen i mindre arrayer av en specificerad storlek. Denna process är användbar för att hantera stora datamängder mer effektivt eller för att bearbeta data i mindre, mer hanterbara delar i applikationen.

Metoder för att dela upp arrayen i bitar:



Innehållsförteckning

Använder metoden JavaScript slice().

De slice () metod returnerar en ny array som innehåller de markerade elementen. Den här metoden väljer elementen från det givna startargumentet och slutar vid, men exklusive det givna slutargumentet.

Syntax:



array.slice(start, end);>

Exempel: Detta exempel använder skiva() metod för att dela upp arrayen i bitar av arrayen. Denna metod kan användas upprepade gånger för att dela en array av valfri storlek.

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);>

Produktion
Array1: 1,2,3,4 Array2: 5,6,7,8>

Använder JavaScript splice()-metoden

splice() metod lägger till/tar bort objekt till/från en array och returnerar listan över borttagna objekt.

Syntax:



array.splice(index, number, item1, ....., itemN);>

Exempel: Detta exempel använder splitsa() metod för att dela upp arrayen i bitar av arrayen. Denna metod tar bort objekten från den ursprungliga arrayen. Denna metod kan användas upprepade gånger för att dela upp en array av valfri storlek.

sträng ti int
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);>

Produktion
Array1: 1,2 Array2: 3,4 Array3: 5,6 Array4: 7,8>

Använder sig av Lodash _.chunk() metod

I detta tillvägagångssätt använder vi Lodash _.chunk() metod som returnerar den givna arrayen i bitar enligt det givna värdet.

Exempel: I det här exemplet bryter vi arrayen genom att skicka storlek '3' till metoden _.chunk(). Storleken på chunken kan varieras och en rad olika datatyper kan användas med chunk-funktionen.

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))>

Produktion:

Before: [  1, 2, 3, 4, 5,  6, 'a', 'b', 'c', 'd' ] After: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 'a', 'b', 'c' ], [ 'd' ] ]>

Använda en loop för att dela upp arrayen

I det här tillvägagångssättet itererar vi över den ursprungliga arrayen och skär den i bitar av önskad storlek, och skjuter varje bit till en ny array.

Exempel:

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);>

Produktion
[ [ 1, 2, 3, 4 ], [ 5, 6, 7, 8 ] ]>

Använda Array.reduce()

Använder sig av Array.reduce() , dela upp en array i bitar av en angiven storlek. Reduceringsfunktionen ackumulerar chunks baserat på chunkSize, skjuter in skivade delar av arrayen i chunks arrayen och returnerar den resulterande arrayen av chunks.

Exempel: I det här exemplet delar vi upp en array i bitar av en specificerad storlek med reduceringsmetoden. Den itererar genom arrayen och skjuter subarrayer av den definierade chunkstorleken till en resulterande 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 (index % chunk === 0) { result.push(arr.slice(index, index + chunk));  } returnera resultat; }, []); // Display Output splittedArrays.forEach((subArray, index) => { console.log(`Array${index + 1}: ${subArray}`); });>

Produktion
Array1: 1,2,3,4 Array2: 5,6,7,8>

Använda Array.from() och Array.splice()

Denna metod innebär att skapa en ny array från den ursprungliga arrayen med Array.from() och sedan upprepade gånger ta bort element från den med splice() för att bilda bitar.

Exempel: I det här exemplet delar chunkArray-funktionen upp en array i bitar av en specificerad storlek. Den skapar en kopia av den ursprungliga arrayen och extraherar iterativt delar baserat på chunkstorleken tills arrayen är 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));  } returnera bitar; } // Exempel på användning: const arr = [1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd']; const chunkSize = 3; const chunks = chunkArray(arr, chunkSize); console.log(bitar);>

Produktion
[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 'a', 'b', 'c' ], [ 'd' ] ]>