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:
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 ”:
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:
//tilstand
} ) ;
Eksempel
Kald metoden find() for at finde objektet, hvis id er ' 5 ' og gem objektet i en variabel ' findIndex ”:
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:
hvis ( tilstand ) {
//udmelding
pause ;
}
}
Eksempel
Brug for-of-løkken og tjek det objekt, hvis id er ' 5 ' og ændre ' alder ' til ' 27 ”:
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.