⊗jsSpDtIPCh 293 of 294 menu

Modifica di una proprietà per id in JavaScript

Potresti aver bisogno di modificare non l'intero oggetto, ma una proprietà specifica. Vediamo come si fa.

Supponiamo che la variabile arr contenga un array di oggetti:

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', }, ];

Supponiamo che le variabili contengano l'id dell'elemento, il nome della proprietà da modificare e il nuovo valore della proprietà:

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

Per risolvere il problema è conveniente usare la destrutturazione e nomi di proprietà calcolati:

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

Sono date le seguenti variabili:

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

Crea un pulsante che, quando cliccato, prenda l'elemento dell'array con l'id specificato, in esso prenda la proprietà con il nome specificato e alla fine del valore di questa proprietà venga aggiunto il simbolo '!'.

Supponiamo di avere due variabili con nomi di proprietà:

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

Modifica il compito precedente in modo che al click le modifiche vengano eseguite immediatamente per le due proprietà specificate.

Rielabora la soluzione fornita nella teoria utilizzando la copia dell'oggetto con Object.assign.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta