Kuidas muuta massiivi sees oleva objekti väärtust JavaScripti abil?

Kuidas Muuta Massiivi Sees Oleva Objekti Vaartust Javascripti Abil



JavaScriptiga töötamisel võib arendajatel olla vaja andmeid dünaamiliselt värskendada. See asub massiivi, objekti või objektide massiivi sees. Massiiv on väärtuste rühm või kogum ja iga väärtus võib olla mis tahes andmetüüpi, sealhulgas objekte. Massiivi sees oleva objekti väärtuse muutmiseks avage esmalt objekt ja seejärel muutke selle atribuute. JavaScriptis on massiivi sees oleva objekti väärtuse muutmiseks mitu eelehitatud meetodit.

See õpetus tutvustab lähenemisviise JavaScripti massiivi sees oleva objekti väärtuse muutmiseks.

Kuidas muuta/värskendada massiivi sees oleva objekti väärtust JavaScripti abil?

Massiivi sees oleva objekti väärtuse muutmiseks kasutage järgmisi JavaScripti eelmääratletud meetodeid:







1. meetod: massiivi sees oleva objekti väärtuse muutmine, kasutades meetodit 'findIndex()'

Massiivis oleva objekti väärtuse muutmiseks kasutage ' findIndex() ” meetod. See meetod leiab elemendi indeksi massiivist, mis vastab teatud tingimusele. Tingimuse täpsustamiseks kasutab see tagasihelistamise funktsiooni.



Süntaks
Objekti väärtuse muutmiseks meetodi findIndex() abil järgige antud süntaksit:



arrayObject. leiaIndeks ( obj => {
//seisund
} ) ;

Näide
Looge massiiv, mis sisaldab erinevaid objekte:





oli arrObj = [ { id : 5 , nimi : 'Mayer' , vanus : 25 } ,
{ id : 9 , nimi : 'Paul' , vanus : 26 } ,
{ id : 12 , nimi : 'Steven' , vanus : kakskümmend } ]

Kutsuge meetod findIndex() tagasihelistamise funktsiooniga, mis kontrollib objektide ID-d, mis on samaväärsed ' 12 ' ja salvestage objekti indeks muutujas ' getIndex ”:

konst getIndex = arrObj. leiaIndeks ( obj => {
tagasi obj. id === 12 ;
} ) ;

Muuda kinnisvara väärtust vanus ” objektist:



arrObj [ getIndex ] . vanus = 24 ;

Lõpuks printige konsooli värskendatud objektide massiiv:

konsool. logi ( 'Värskendatud objekti massiiv on:' ) ;
konsool. logi ( arrObj ) ;

Väljund näitab, et väärtus ' vanus ' objektist, mille ID on 12, on edukalt muudetud väärtusest ' kakskümmend ' kuni ' 24 ”:

2. meetod: muutke massiivi sees oleva objekti väärtust 'map()' meetodi abil Spreadi operaatoriga

Kasutage ' kaart () ' meetod koos ' leviku operaator ” massiivi sees oleva objekti väärtuse muutmiseks. 'map()' kasutatakse uue massiivi loomiseks, kutsudes funktsiooni olemasoleva massiivi igal elemendil. Samal ajal kui levioperaator võimaldab levitada või kopeerida massiivi elemente uude massiivi või funktsioonikutse argumente. Meetod 'map()' ei muuda ega muuda algset massiivi, vaid väljastab uue massiivi muudetud elementidega.

Süntaks
Objekti väärtuse muutmiseks, kasutades meetodit map() levioperaatoriga, kasutage järgmist süntaksit:

arrayObject. kaart ( obj => {
kui ( tingimus ) {
tagasi { ... obj , võti : uusVäärtus } ;
}
tagasi obj ;
} ) ;

Näide
Kutsuge meetodit map() levioperaatoriga, et muuta selle objekti nime, mille ID on ' 9 ”:

konst uusObjectArr = arrObj. kaart ( obj => {
kui ( obj. id === 9 ) {
tagasi { ... obj , nimi : 'Alice' } ;
}
tagasi obj ;
} ) ;

Printige objekti muudetud massiiv konsoolile:

konsool. logi ( uusObjectArr ) ;

Kinnistu' nimi ' objektist, mille ID on ' 9 ' on muudetud väärtusest ' Paul ' kuni ' Alice ”:

3. meetod: massiivi sees oleva objekti väärtuse muutmine, kasutades meetodit 'find()'

Massiivis oleva objekti väärtuse muutmiseks kasutage ' leia () ” meetod. Seda kasutatakse antud tingimusele vastava elemendi leidmiseks massiivist. See väljastab elemendi väärtuse, kui see tingimusele vastab. Vastasel juhul annab see ' määratlemata ”, mis näitab, et sellist elementi ei leitud.

Süntaks
Kasutage massiivist elemendi leidmiseks meetodi find() jaoks antud süntaksit:

arrayObject. leida ( obj => {
//seisund
} ) ;

Näide
Käivitage meetod find(), et leida objekt, mille ID on ' 5 ja salvestage objekt muutujasse ' leiaIndeks ”:

konst leiaIndeks = arrObj. leida ( obj => {
tagasi obj. id === 5 ;
} ) ;

Kontrollige, kas muutuja 'findIndex' ei ole võrdne ' määratlemata ' tähendab, kui objekt leitakse, muuta vara väärtust ' nimi ” objektist:

kui ( leiaIndeks !== määratlemata ) {
leiaIndeks. nimi = 'John' ;
}

Lõpuks printige objekt konsoolil:

konsool. logi ( leiaIndeks ) ;

Väljund kuvab ainult määratud objekti, muutes selle väärtust:

4. meetod: muutke massiivi sees oleva objekti väärtust 'for-of' tsükli abil

Võite kasutada ka ' for-of ” tsükkel massiivi sees oleva objekti väärtuse muutmiseks. Seda kasutatakse objektide massiivi itereerimiseks ja objekti väärtuse muutmise tingimuse kontrollimiseks. Pärast objekti väärtuse avamist ja muutmist lõpetage tsükkel, kasutades ' murda ” märksõna.

Süntaks
Järgige tsükli 'for-of' jaoks etteantud süntaksit:

jaoks ( konst objekti arrayObject ) {
kui ( tingimus ) {
//avaldus
murda ;
}
}

Näide
Kasutage for-of tsüklit ja kontrollige objekti, mille ID on ' 5 ' ja muutke ' vanus ' kuni ' 27 ”:

jaoks ( konst obj of arrObj ) {
kui ( obj. id === 5 ) {
obj. vanus = 27 ;
murda ;
}
}

Printige värskendatud objekt konsooli massiivi sees:

konsool. logi ( arrObj ) ;

Väljund

Oleme kogunud JavaScripti massiivi sees oleva objekti väärtuse muutumise kohta kogu olulise teabe.

Järeldus

Massiivi sees oleva objekti väärtuse muutmiseks kasutage JavaScripti eelmääratletud meetodeid, sealhulgas ' findIndex() , ' kaart () ' meetod koos ' leviku operaator ”, „ leia () ' meetod või ' for-of 'silmus. Need meetodid muutsid edukalt objekti väärtusi massiivi sees. See õpetus demonstreeris erinevaid lähenemisviise JavaScripti massiivi sees oleva objekti väärtuse muutmiseks.