Ndryshimi i një vetie sipas id në JavaScript
Mund t'ju duhet të ndryshoni jo të gjithë objektin, por një veti specifike. Le të shohim si bëhet kjo.
Le të themi se në variablin arr gjendet
një grup objektesh:
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',
},
];
Le të themi se në variabla ruhen id e elementit,
emri i vetisë për të ndryshuar dhe vlera e re
e vetisë:
let id = 'IWSpfBPSV3SXgRF87uO74';
let prop = 'prop1';
let value = '!!!';
Për të zgjidhur këtë problem është e përshtatshme të përdoret destrukturosimi dhe emrat e llogaritur të vetive:
let res = arr.map(elem => {
if (elem.id === id) {
return {...elem, [prop]: value};
} else {
return elem;
}
});
Janë dhënë variablat e mëposhtme:
let id = 'JAmjRlfQT8rLTm5tG2m1L';
let prop = 'prop2';
Krijoni një buton, upon clicking on which do të
merret elementi i grupit me id e specifikuar,
do të merret vetia me emrin e specifikuar
dhe në fund të vlerës së kësaj vetie
do të shtohet shenja '!'.
Le të themi se janë dhënë dy variabla me emra vetish:
let id = 'JAmjRlfQT8rLTm5tG2m1L';
let prop1 = 'prop2';
let prop2 = 'prop3';
Modifikoni detyrën e mëparshme në mënyrë që në klik ndryshimet të kryhen menjëherë për dy vetitë e specifikuara.
Rishkruaj zgjidhjen e dhënë në teori
duke përdorur kopjimin e objektit me Object.assign.