Denne opplæringen vil demonstrere tilnærmingene for å endre verdien til et objekt inne i en matrise i JavaScript.
Hvordan endre/oppdatere verdien til et objekt som er inne i en matrise ved å bruke JavaScript?
For å endre verdien til et objekt som er inne i en matrise, bruk følgende forhåndsdefinerte JavaScript-metoder:
Metode 1: Endre verdien av objektet som er inne i en matrise ved å bruke 'findIndex()'-metoden
For å endre verdien til et objekt inne i matrisen, bruk ' findIndex() 'metoden. Denne metoden finner elementets indeks i en matrise som oppfyller den bestemte betingelsen. For å spesifisere tilstanden bruker den en tilbakeringingsfunksjon.
Syntaks
Følg den gitte syntaksen for å endre verdien til et objekt ved å bruke findIndex()-metoden:
arrayObject. findIndex ( obj => {
//betingelse
} ) ;
Eksempel
Lag en matrise som inneholder forskjellige objekter:
var arrObj = [ { id : 5 , Navn : 'Mayer' , alder : 25 } ,
{ id : 9 , Navn : 'Paul' , alder : 26 } ,
{ id : 12 , Navn : 'Steven' , alder : tjue } ]
Kall findIndex()-metoden med tilbakeringingsfunksjonen som sjekker ID-en til objekter som tilsvarer ' 12 ', og lagre indeksen til objektet i en variabel ' getIndex ':
konst getIndex = arrObj. findIndex ( obj => {komme tilbake obj. id === 12 ;
} ) ;
Endre verdien på eiendommen ' alder ' av objektet:
arrObj [ getIndex ] . alder = 24 ;
Skriv til slutt ut det oppdaterte utvalget av objekter på konsollen:
konsoll. Logg ( 'Den oppdaterte Array of Object er:' ) ;konsoll. Logg ( arrObj ) ;
Utgangen indikerer at verdien av ' alder ' av objektet hvis ID er 12 har blitt endret fra ' tjue ' til ' 24 ':
Metode 2: Endre verdien av objektet som er inne i en matrise ved å bruke 'map()'-metoden med spredningsoperator
Bruk ' kart() '-metoden med ' spredningsoperatør ” for å endre verdien til objektet inne i en matrise. 'map()' brukes for å lage en ny matrise ved å kalle en funksjon på hvert element i en eksisterende matrise. Mens spredningsoperatøren tillater å spre eller kopiere matriseelementer til en ny matrise eller argumentene til et funksjonskall. 'map()'-metoden modifiserer/endrer ikke den opprinnelige matrisen, men den sender ut en ny matrise med de modifiserte elementene.
Syntaks
For å endre verdien til et objekt ved å bruke map()-metoden med spredningsoperatoren, bruk følgende syntaks:
hvis ( betingelse ) {
komme tilbake { ... obj , nøkkel : nyverdi } ;
}
komme tilbake obj ;
} ) ;
Eksempel
Kall map()-metoden med spredningsoperator for å endre navnet på objektet hvis id er ' 9 ':
hvis ( obj. id === 9 ) {
komme tilbake { ... obj , Navn : 'Alice' } ;
}
komme tilbake obj ;
} ) ;
Skriv ut den modifiserte matrisen av objektet på konsollen:
konsoll. Logg ( newObjectArr ) ;Eiendommen ' Navn ' av objektet hvis id er ' 9 ' er endret fra ' Paul ' til ' Alice ':
Metode 3: Endre verdien av objektet som er inne i en matrise ved å bruke 'finn()'-metoden
For å endre verdien til et objekt inne i en matrise, bruk ' finne() 'metoden. Den brukes til å finne elementet i en matrise som oppfyller en gitt betingelse. Den gir ut verdien til elementet hvis det tilfredsstiller betingelsen. Ellers gir det ' udefinert , ” som indikerer at ingen slikt element er funnet.
Syntaks
Bruk den gitte syntaksen for find()-metoden for å finne elementet i en matrise:
//betingelse
} ) ;
Eksempel
Påkall find()-metoden for å finne objektet hvis id er ' 5 ' og lagre objektet i en variabel ' findIndex ':
komme tilbake obj. id === 5 ;
} ) ;
Sjekk om variabelen 'findIndex' ikke er lik ' udefinert ' betyr at hvis objektet blir funnet, endre verdien av egenskapen ' Navn ' av objektet:
hvis ( findIndex !== udefinert ) {findIndex. Navn = 'John' ;
}
Skriv til slutt ut objektet på konsollen:
konsoll. Logg ( findIndex ) ;Utdataene viser bare det angitte objektet ved å endre verdien:
Metode 4: Endre verdien av objektet som er inne i en matrise ved å bruke 'for-of'-løkken
Du kan også bruke ' for-av ”-løkke for å endre verdien til et objekt inne i matrisen. Den brukes til å iterere over utvalget av objekter og sjekke tilstanden for å endre objektets verdi. Etter å ha tilgang til og endret objektets verdi, avslutter du sløyfen ved å bruke ' gå i stykker ' nøkkelord.
Syntaks
Følg den gitte syntaksen for 'for-of'-løkken:
hvis ( betingelse ) {
//uttalelse
gå i stykker ;
}
}
Eksempel
Bruk for-of-løkken og sjekk objektet hvis ID er ' 5 ' og endre ' alder ' til ' 27 ':
hvis ( obj. id === 5 ) {
obj. alder = 27 ;
gå i stykker ;
}
}
Skriv ut det oppdaterte objektet inne i matrisen på konsollen:
konsoll. Logg ( arrObj ) ;Produksjon
Vi har samlet all viktig informasjon som er relevant for endringsverdien til et objekt som er inne i arrayet i JavaScript.
Konklusjon
For å endre verdien til et objekt som er inne i en matrise, bruk de forhåndsdefinerte JavaScript-metodene, inkludert ' findIndex() , ' kart() ' metode med ' spredningsoperatør ', ' finne() '-metoden, eller ' for-av ' Løkke. Disse metodene har vellykket endret et objekts verdier inne i en matrise. Denne opplæringen demonstrerte de forskjellige tilnærmingene for å endre verdien til et objekt som er inne i en matrise i JavaScript.