logo

Ako klonovať pole v JavaScripte?

In JavaScript, klonovanie poľa znamená vytvorenie nového poľa s rovnakými prvkami ako pôvodné pole. Klonovanie poľa v jazyku JavaScript je užitočné, keď chcete vytvoriť nové pole, ktoré má rovnaké prvky ako existujúce pole, bez toho, aby ste upravili pôvodné pole.

Kedy klonovať pole?

Ak chcete vykonať nejaké operácie na poli, ako je triedenie, filtrovanie alebo mapovanie, ale nechcete upravovať pôvodné pole, môžete vytvoriť klon pôvodného poľa a namiesto toho vykonať operácie na klone.



  • Pri odovzdávaní poľa funkcii ako argumentu možno budete chcieť zabezpečiť, aby funkcia nezmenila pôvodné pole. V tomto prípade môžete namiesto toho odovzdať klon poľa.
  • Ak chcete zachovať pôvodné pole pre budúce použitie, môžete vytvoriť klon pôvodného poľa a použiť klon na ďalšie spracovanie alebo manipuláciu.
  • Ak máte pole, ktoré obsahuje objekty alebo polia ako prvky, a chcete sa vyhnúť úprave pôvodných objektov alebo polí, môžete vytvoriť klon poľa, s ktorým budete pracovať, takže zmeny objektov alebo polí v klone nebudú ovplyvniť pôvodné objekty alebo polia.

teda klonovanie poľa v JavaScripte je užitočná technika na prácu s poľami spôsobom, ktorý zachováva integritu pôvodného poľa a jeho prvkov.

Tu je niekoľko bežných prípadov použitia na klonovanie poľa:

Obsah



mysql zmeniť typ stĺpca

Pomocou metódy Array.slice().

Používame plátková metóda na vytvorenie plytkej kópie poľa. Táto metóda vytvorí nové pole s podmnožinou prvkov z pôvodného poľa.

Príklad: Tento príklad ukazuje implementáciu vyššie vysvetleného prístupu.

Javascript
const originalArray = [1, 2, 3]; const clonedArray = originalArray.slice(); console.log(clonedArray);>

Výkon
[ 1, 2, 3 ]>

Použitie operátora šírenia

Pomocou operátor šírenia je stručný a jednoduchý spôsob klonovania poľa v JavaScripte. Operátor spread vám umožňuje rozbaliť pole na jednotlivé prvky, ktoré sa potom dajú použiť na vytvorenie nového poľa.



Príklad: Tento príklad ukazuje implementáciu vyššie vysvetleného prístupu.

java farebné kódy
Javascript
const originalArray = [1, 2, 3]; const clonedArray = [...originalArray]; console.log(clonedArray);>

Výkon
[ 1, 2, 3 ]>

Pomocou metódy Array.from().

Pomocou Array.from() metóda je ďalším spôsobom klonovania poľa v JavaScripte. Táto metóda vytvorí nové pole z existujúceho poľa pomocou voliteľnej mapovacej funkcie na transformáciu hodnôt v novom poli.

Príklad: Tento príklad ukazuje implementáciu vyššie vysvetleného prístupu.

Javascript
const originalArray = [1, 2, 3]; const clonedArray = Array.from(originalArray); console.log(clonedArray);>

Výkon
[ 1, 2, 3 ]>

Pomocou metódy Array.concat().

Pomocou Array.concat() metóda je ďalším spôsobom klonovania poľa v JavaScripte. Táto metóda vytvorí nové pole zreťazením dvoch alebo viacerých polí dohromady.

Príklad: Tento príklad ukazuje implementáciu vyššie vysvetleného prístupu.

Javascript
const originalArray = [1, 2, 3]; const clonedArray = [].concat(originalArray); console.log(clonedArray);>

Výkon
[ 1, 2, 3 ]>

Pomocou cyklu for

Táto metóda zahŕňa iteráciu každého prvku v pôvodnom poli a kopírovanie každého prvku do nového poľa.

arraylist.sort

Príklad: Tento príklad ukazuje implementáciu vyššie vysvetleného prístupu.

Javascript
const originalArray = [1, 2, 3]; const clonedArray = []; for (let i = 0; i < originalArray.length; i++) {  clonedArray.push(originalArray[i]); } console.log(clonedArray);>

Výkon
[ 1, 2, 3 ]>

Pomocou metódy Array.map().

Pomocou Array.map() metóda je ďalším spôsobom klonovania poľa v JavaScripte. Táto metóda vytvorí nové pole mapovaním každého prvku z pôvodného poľa na novú hodnotu.

Príklad: Tento príklad ukazuje implementáciu vyššie vysvetleného prístupu.

java rovná sa
Javascript
const originalArray = [1, 2, 3]; const clonedArray = originalArray.map(x =>X); console.log(clonedArray);>

Výkon
[ 1, 2, 3 ]>

Použitie metódy Array.from() s mapovou funkciou

Pomocou Array.from() metóda s funkciou mapy je ďalším spôsobom klonovania poľa v JavaScripte. Táto metóda vytvorí nové pole mapovaním každého prvku z pôvodného poľa na novú hodnotu pomocou poskytnutej funkcie.

Príklad: Tento príklad ukazuje implementáciu vyššie vysvetleného prístupu.

Javascript
const originalArray = [1, 2, 3]; const clonedArray = Array.from(originalArray, x =>X); console.log(clonedArray);>

Výkon
[ 1, 2, 3 ]>

Použitie metódy Array.of().

Táto metóda vytvorí nové pole s rovnakými prvkami ako pôvodné pole.

Príklad: Tento príklad ukazuje implementáciu vyššie vysvetleného prístupu.

Javascript
const originalArray = [1, 2, 3]; const clonedArray = Array.of(...originalArray); console.log(clonedArray);>

Výkon
[ 1, 2, 3 ]>

Použitie metód JSON.parse() a JSON.stringify().

Pomocou JSON.parse() a JSON.stringify() metódy sú ďalším spôsobom klonovania poľa v JavaScripte. Táto metóda zahŕňa konverziu pôvodného poľa na reťazec JSON a následnú analýzu reťazca JSON na vytvorenie nového poľa.

Príklad: Tento príklad ukazuje implementáciu vyššie vysvetleného prístupu.

porovnateľný reťazec v jazyku Java
Javascript
const originalArray = [1, 2, 3]; const clonedArray = JSON.parse(JSON.stringify(originalArray)); console.log(clonedArray);>

Výkon
[ 1, 2, 3 ]>

Pomocou metódy Object.assign().

Pomocou Object.assign() metóda je ďalší spôsob klonovania poľa v JavaScripte. Táto metóda vytvorí nové pole skopírovaním vlastností pôvodného poľa do nového objektu.

Príklad: Tento príklad ukazuje implementáciu vyššie vysvetleného prístupu.

Javascript
const originalArray = [1, 2, 3]; const clonedArray = Object.assign([], originalArray); console.log(clonedArray);>

Výkon
[ 1, 2, 3 ]>

Použitie metódy Array.reduce().

The Metóda Array.reduce(). vykonáva funkciu redukcie na každom prvku poľa, výsledkom čoho je jedna výstupná hodnota. Môžeme ho použiť na vytvorenie nového poľa s rovnakými prvkami ako pôvodné pole.

Syntax:

array.reduce((accumulator, currentValue, currentIndex, array) =>{ ... }, initialValue);>

Príklad : V tomto príklade použijeme metódu Array.reduce() na vytvorenie klonu poľa.

JavaScript
// Input array const originalArray = [1, 2, 3, 4]; // Cloning the array using reduce const clonedArray = originalArray.reduce((acc, val) =>{ acc.push(val);  vrátiť acc; }, []); // Zobrazenie pôvodného a klonovaného poľa console.log('Original Array:', originalArray); // Výstup: [1, 2, 3, 4] console.log('Cloned Array:', clonedArray); // Výstup: [1, 2, 3, 4]>

Výkon
Original Array: [ 1, 2, 3, 4 ] Cloned Array: [ 1, 2, 3, 4 ]>

Poznámka: Preto je pri klonovaní poľa dôležité zvážiť zložitosť údajov a požiadavky na výkon aplikácie.