Sådan ændres værdien af ​​et objekt, der er inde i et array ved hjælp af JavaScript?

Sadan Aendres Vaerdien Af Et Objekt Der Er Inde I Et Array Ved Hjaelp Af Javascript



Mens de arbejder med JavaScript, skal udviklere muligvis opdatere dataene dynamisk. Det er inde i arrayet, objektet eller en række objekter. Et array er en gruppe eller samling af værdier, og hver værdi kan være af enhver datatype, inklusive objekter. For at ændre værdien af ​​et objekt inde i et array skal du først få adgang til objektet og derefter ændre dets egenskaber. I JavaScript findes der flere forudbyggede metoder til at ændre værdien af ​​et objekt inde i et array.

Denne vejledning vil demonstrere fremgangsmåderne til at ændre værdien af ​​et objekt inde i et array i JavaScript.

Hvordan ændres/opdateres værdien af ​​et objekt, der er inde i et array ved hjælp af JavaScript?

For at ændre værdien af ​​et objekt, der er inde i et array, skal du bruge følgende JavaScript-foruddefinerede metoder:







Metode 1: Skift værdi af objekt, der er inde i et array ved hjælp af 'findIndex()'-metoden

For at ændre værdien af ​​et objekt inde i arrayet, brug ' findIndex() ” metode. Denne metode finder elementets indeks i et array, der opfylder den bestemte betingelse. Til at angive betingelsen bruger den en tilbagekaldsfunktion.



Syntaks
Følg den givne syntaks for at ændre værdien af ​​et objekt ved hjælp af findIndex() metoden:



arrayObject. findIndex ( obj => {
//tilstand
} ) ;

Eksempel
Opret et array, der indeholder forskellige objekter:





var arrObj = [ { id : 5 , navn : 'Mayer' , alder : 25 } ,
{ id : 9 , navn : 'Paul' , alder : 26 } ,
{ id : 12 , navn : 'Steven' , alder : tyve } ]

Kald findIndex()-metoden med tilbagekaldsfunktionen, der kontrollerer id'et for objekter svarende til ' 12 ', og gem objektets indeks i en variabel ' getIndex ”:

konst getIndex = arrObj. findIndex ( obj => {
Vend tilbage obj. id === 12 ;
} ) ;

Ændre værdien af ​​ejendommen ' alder ' af objektet:



arrObj [ getIndex ] . alder = 24 ;

Udskriv til sidst den opdaterede række af objekter på konsollen:

konsol. log ( 'Den opdaterede Array of Object er:' ) ;
konsol. log ( arrObj ) ;

Outputtet angiver, at værdien af ​​' alder ' af objektet, hvis id er 12, er blevet ændret fra ' tyve ' til ' 24 ”:

Metode 2: Skift værdi af objekt, der er inde i et array ved hjælp af 'map()'-metoden med spredningsoperator

Brug ' kort() ' metode med ' spredningsoperatør ” for at ændre værdien af ​​objektet inde i en matrix. 'map()' bruges til at skabe et nyt array ved at kalde en funktion på hvert element i et eksisterende array. Mens spread-operatoren tillader at sprede eller kopiere array-elementer til et nyt array eller argumenterne for et funktionskald. 'map()'-metoden ændrer/ændrer ikke det originale array, men den udsender et nyt array med de modificerede elementer.

Syntaks
For at ændre værdien af ​​et objekt ved hjælp af map()-metoden med spread-operatoren, skal du bruge følgende syntaks:

arrayObject. kort ( obj => {
hvis ( tilstand ) {
Vend tilbage { ... obj , nøgle : nyVærdi } ;
}
Vend tilbage obj ;
} ) ;

Eksempel
Kald map()-metoden med spread-operator for at ændre navnet på objektet, hvis id er ' 9 ”:

konst newObjectArr = arrObj. kort ( obj => {
hvis ( obj. id === 9 ) {
Vend tilbage { ... obj , navn : 'Alice' } ;
}
Vend tilbage obj ;
} ) ;

Udskriv det ændrede array af objektet på konsollen:

konsol. log ( newObjectArr ) ;

Ejendommen ' navn ' af objektet, hvis id er ' 9 ' er blevet ændret fra ' Paul ' til ' Alice ”:

Metode 3: Skift værdi af objekt, der er inde i et array ved hjælp af 'find()'-metoden

For at ændre værdien af ​​et objekt inde i et array skal du bruge ' Find() ” metode. Det bruges til at finde elementet i et array, der opfylder en given betingelse. Det udsender værdien af ​​elementet, hvis det opfylder betingelsen. Ellers giver det ' udefineret , ”, hvilket indikerer, at et sådant element ikke er fundet.

Syntaks
Brug den givne syntaks for find()-metoden til at finde elementet i et array:

arrayObject. Find ( obj => {
//tilstand
} ) ;

Eksempel
Kald metoden find() for at finde objektet, hvis id er ' 5 ' og gem objektet i en variabel ' findIndex ”:

konst findIndex = arrObj. Find ( obj => {
Vend tilbage obj. id === 5 ;
} ) ;

Tjek om variablen 'findIndex' ikke er lig med ' udefineret ' betyder, at hvis objektet er fundet, skal du ændre værdien af ​​egenskaben ' navn ” af objektet:

hvis ( findIndex !== udefineret ) {
findIndex. navn = 'John' ;
}

Udskriv til sidst objektet på konsollen:

konsol. log ( findIndex ) ;

Outputtet viser kun det angivne objekt ved at ændre dets værdi:

Metode 4: Skift værdi af objekt, der er inde i et array ved hjælp af 'for-of'-løkke

Du kan også bruge ' for-af ”-løkke til at ændre værdien af ​​et objekt inde i arrayet. Det bruges til at iterere over rækken af ​​objekter og kontrollere betingelsen for at ændre objektets værdi. Efter at have adgang til og ændret objektets værdi, skal du afslutte løkken ved at bruge ' pause ” nøgleord.

Syntaks
Følg den givne syntaks for 'for-of'-løkken:

til ( konst obj af arrayObject ) {
hvis ( tilstand ) {
//udmelding
pause ;
}
}

Eksempel
Brug for-of-løkken og tjek det objekt, hvis id er ' 5 ' og ændre ' alder ' til ' 27 ”:

til ( konst obj af arrObj ) {
hvis ( obj. id === 5 ) {
obj. alder = 27 ;
pause ;
}
}

Udskriv det opdaterede objekt inde i arrayet på konsollen:

konsol. log ( arrObj ) ;

Produktion

Vi har samlet alle de væsentlige oplysninger, der er relevante for den ændrede værdi af et objekt, som er inde i arrayet i JavaScript.

Konklusion

For at ændre værdien af ​​et objekt, der er inde i et array, skal du bruge de foruddefinerede JavaScript-metoder, inklusive ' findIndex() , ' kort() ' metode med ' spredningsoperatør ', ' Find() '-metoden eller ' for-af ” sløjfe. Disse metoder har med succes ændret et objekts værdier inde i et array. Denne tutorial demonstrerede de forskellige tilgange til at ændre værdien af ​​et objekt, som er inde i et array i JavaScript.