⊗jsSpDtIPCh 293 of 294 menu

Cambiar una propiedad por id en JavaScript

Puede que necesites cambiar no todo el objeto, sino una propiedad concreta. Veamos cómo se hace.

Supongamos que en la variable arr hay un array de objetos:

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

Supongamos que en variables se almacenan el id del elemento, el nombre de la propiedad a cambiar y el nuevo valor de la propiedad:

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

Para resolver el problema es conveniente usar la desestructuración y nombres de propiedades calculados:

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

Se dan las siguientes variables:

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

Crea un botón, al pulsar el cual se tomará el elemento del array con el id especificado, en él se tomará la propiedad con el nombre especificado y al final del valor de esta propiedad se añadirá el signo '!'.

Supongamos que se dan dos variables con nombres de propiedades:

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

Modifica la tarea anterior para que al hacer clic los cambios se realicen inmediatamente para las dos propiedades indicadas.

Rehace la solución presentada en la teoría usando la copia de objetos con Object.assign.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar