logo

Hvordan klone en matrise i JavaScript?

I JavaScript, kloning av en matrise betyr å lage en ny matrise med de samme elementene som den originale matrisen. Kloning av en matrise i JavaScript er nyttig når du vil lage en ny matrise som har de samme elementene som en eksisterende matrise, uten å endre den opprinnelige matrisen.

Når skal man klone array?

Hvis du vil utføre noen operasjoner på en matrise, for eksempel sortering, filtrering eller kartlegging, men du ikke vil endre den opprinnelige matrisen, kan du lage en klone av den originale matrisen og utføre operasjonene på klonen i stedet.



  • Når du sender en matrise til en funksjon som et argument, vil du kanskje sørge for at funksjonen ikke endrer den opprinnelige matrisen. I dette tilfellet kan du sende en klone av matrisen i stedet.
  • Hvis du vil bevare den opprinnelige matrisen for fremtidig referanse, kan du lage en klone av den originale matrisen og bruke klonen for videre behandling eller manipulering.
  • Hvis du har en matrise som inneholder objekter eller matriser som elementer, og du vil unngå å endre de originale objektene eller matrisene, kan du lage en klone av matrisen å jobbe med, slik at endringer i objektene eller matrisene i klonen ikke påvirke de originale objektene eller matrisene.

Dermed, kloning av en matrise i JavaScript er en nyttig teknikk for å arbeide med matriser på en måte som bevarer integriteten til den originale matrisen og dens elementer.

Her er noen vanlige brukstilfeller for kloning av en matrise:

Innholdsfortegnelse



Ved å bruke Array.slice()-metoden

Vi bruker skivemetode for å lage en grunn kopi av en matrise. Denne metoden oppretter en ny matrise med en delmengde av elementene fra den opprinnelige matrisen.

Eksempel: Dette eksemplet viser implementeringen av den ovenfor forklarte tilnærmingen.

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

Produksjon
[ 1, 2, 3 ]>

Bruke spredningsoperatøren

Bruker spredningsoperatør er en kortfattet og enkel måte å klone en matrise i JavaScript. Spredningsoperatoren lar deg utvide en matrise til individuelle elementer, som deretter kan brukes til å lage en ny matrise.



Eksempel: Dette eksemplet viser implementeringen av den ovenfor forklarte tilnærmingen.

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

Produksjon
[ 1, 2, 3 ]>

Ved å bruke Array.from()-metoden

Bruker Array.from() metode er en annen måte å klone en matrise i JavaScript. Denne metoden oppretter en ny matrise fra en eksisterende matrise ved å bruke en valgfri kartfunksjon for å transformere verdiene i den nye matrisen.

Eksempel: Dette eksemplet viser implementeringen av den ovenfor forklarte tilnærmingen.

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

Produksjon
[ 1, 2, 3 ]>

Ved å bruke Array.concat()-metoden

Bruker Array.concat() metode er en annen måte å klone en matrise i JavaScript. Denne metoden oppretter en ny matrise ved å sette sammen to eller flere matriser.

kunstig intelligens og intelligente agenter

Eksempel: Dette eksemplet viser implementeringen av den ovenfor forklarte tilnærmingen.

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

Produksjon
[ 1, 2, 3 ]>

Bruke en for-løkke

Denne metoden innebærer å iterere gjennom hvert element i den originale matrisen og kopiere hvert element til en ny matrise.

Eksempel: Dette eksemplet viser implementeringen av den ovenfor forklarte tilnærmingen.

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

Produksjon
[ 1, 2, 3 ]>

Ved å bruke Array.map()-metoden

Bruker Array.map() metode er en annen måte å klone en matrise i JavaScript. Denne metoden oppretter en ny matrise ved å tilordne hvert element fra den opprinnelige matrisen til en ny verdi.

Eksempel: Dette eksemplet viser implementeringen av den ovenfor forklarte tilnærmingen.

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

Produksjon
[ 1, 2, 3 ]>

Bruke Array.from()-metoden med en kartfunksjon

Bruker Array.from() metode med en kartfunksjon er en annen måte å klone en matrise i JavaScript. Denne metoden oppretter en ny matrise ved å kartlegge hvert element fra den opprinnelige matrisen til en ny verdi ved å bruke en gitt funksjon.

Eksempel: Dette eksemplet viser implementeringen av den ovenfor forklarte tilnærmingen.

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

Produksjon
[ 1, 2, 3 ]>

Ved å bruke Array.of()-metoden

Denne metoden oppretter en ny matrise med de samme elementene som den opprinnelige matrisen.

Eksempel: Dette eksemplet viser implementeringen av den ovenfor forklarte tilnærmingen.

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

Produksjon
[ 1, 2, 3 ]>

Ved å bruke metodene JSON.parse() og JSON.stringify().

Bruker JSON.parse() og JSON.stringify() metoder er en annen måte å klone en matrise i JavaScript. Denne metoden innebærer å konvertere den opprinnelige matrisen til en JSON-streng og deretter analysere JSON-strengen for å lage en ny matrise.

Eksempel: Dette eksemplet viser implementeringen av den ovenfor forklarte tilnærmingen.

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

Produksjon
[ 1, 2, 3 ]>

Bruke Object.assign()-metoden

Bruker Object.assign() metode er en annen måte å klone en matrise i JavaScript. Denne metoden oppretter en ny matrise ved å kopiere egenskapene til den originale matrisen til et nytt objekt.

Eksempel: Dette eksemplet viser implementeringen av den ovenfor forklarte tilnærmingen.

hva er dimensjonene på dataskjermen min
Javascript
const originalArray = [1, 2, 3]; const clonedArray = Object.assign([], originalArray); console.log(clonedArray);>

Produksjon
[ 1, 2, 3 ]>

Ved å bruke Array.reduce()-metoden

De Array.reduce()-metoden utfører en reduseringsfunksjon på hvert element i matrisen, noe som resulterer i en enkelt utgangsverdi. Vi kan bruke den til å konstruere en ny matrise med de samme elementene som den opprinnelige matrisen.

Syntaks:

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

Eksempel : I dette eksemplet bruker vi Array.reduce()-metoden for å lage en klone av en matrise.

JavaScript
// Input array const originalArray = [1, 2, 3, 4]; // Cloning the array using reduce const clonedArray = originalArray.reduce((acc, val) =>{ acc.push(val);  retur acc; }, []); // Vis de originale og klonede arrayene console.log('Original Array:', originalArray); // Utdata: [1, 2, 3, 4] console.log('Cloned Array:', clonedArray); // Utdata: [1, 2, 3, 4]>

Produksjon
Original Array: [ 1, 2, 3, 4 ] Cloned Array: [ 1, 2, 3, 4 ]>

Merk: Når du kloner en matrise, er det derfor viktig å vurdere kompleksiteten til dataene og ytelseskravene til applikasjonen.