⊗jsSpDtIPCh 293 of 294 menu

Yhden ominaisuuden muuttaminen id:n perusteella JavaScriptissä

Sinun saattaa tarvita muuttaa ei koko objektia, vaan tiettyä ominaisuutta. Katsotaanpa, kuinka se tehdään.

Olkoon muuttujassa arr objektitaulukko:

let arr = [ { id: 'GYi9GauC4gBF1e2SixDvu', prop1: 'value11', prop2: 'value12', prop3: 'value13', }, { id: 'IWSpfBPSV3SXgRF87uO74', prop1: 'value21', prop2: 'value22', prop3: 'value23', }, { id: 'JAmjRlfQT8rLTm5tG2m1L', prop1: 'value31', prop2: 'value32', prop3: 'value33', }, ];

Olkoon muuttujissa tallennettuna elementin id, muutettavan ominaisuuden nimi ja uusi ominaisuuden arvo:

let id = 'IWSpfBPSV3SXgRF87uO74'; let prop = 'prop1'; let value = '!!!';

Ongelman ratkaisemiseen on kätevää käyttää destrukturointia ja lasketut ominaisuuden nimet:

let res = arr.map(elem => { if (elem.id === id) { return {...elem, [prop]: value}; } else { return elem; } });

Annettuina ovat seuraavat muuttujat:

let id = 'JAmjRlfQT8rLTm5tG2m1L'; let prop = 'prop2';

Tee painike, jota painamalla otetaan taulukon elementti annetulla id:llä, siitä otetaan ominaisuus annetulla nimellä ja kyseisen ominaisuuden arvon loppuun lisätään merkki '!'.

Olkoon annettuina kaksi muuttujaa ominaisuuksien nimillä:

let id = 'JAmjRlfQT8rLTm5tG2m1L'; let prop1 = 'prop2'; let prop2 = 'prop3';

Muokkaa edellistä tehtävää siten, että klikkauksella muutokset suoritetaan heti kahdelle annetulle ominaisuudelle.

Muunna teoriassa esitetty ratkaisu objektin kopioinnin avulla käyttäen Object.assign:ia.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää