Verandering van een eienskap volgens id in JavaScript
Jy mag dalk nodig hê om nie die hele objek te verander nie, maar 'n spesifieke eienskap. Kom ons kyk hoe dit gedoen word.
Laat in die veranderlike arr lê
'n versameling objekte:
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',
},
];
Laat in veranderlikes die id van die element,
die eienskapnaam om te verander en die nuwe waarde
van die eienskap gestoor word:
let id = 'IWSpfBPSV3SXgRF87uO74';
let prop = 'prop1';
let value = '!!!';
Om die probleem op te los, is dit gerieflik om destrukturasie en berekende eienskappname te gebruik:
let res = arr.map(elem => {
if (elem.id === id) {
return {...elem, [prop]: value};
} else {
return elem;
}
});
Die volgende veranderlikes word gegee:
let id = 'JAmjRlfQT8rLTm5tG2m1L';
let prop = 'prop2';
Maak 'n knoppie waarmee, wanneer daarop gedruk word, die
element van die versameling met die gespesifiseerde id geneem sal word,
die eienskap met die gespesifiseerde
naam daarin sal geneem word en aan die einde van die waarde van daardie eienskap
sal die teken '!' bygevoeg word.
Laat twee veranderlikes met eienskappname gegee word:
let id = 'JAmjRlfQT8rLTm5tG2m1L';
let prop1 = 'prop2';
let prop2 = 'prop3';
Wysig die vorige taak sodat veranderings vir beide gespesifiseerde eienskappe onmiddellik by 'n klik uitgevoer word.
Herskep die oplossing wat in die teorie gegee is
deur die objek met Object.assign te kopieer.