Ndryshimi i elementit sipas id në JavaScript
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 duam të ndryshojmë një element të grupit. Le të themi se të dhënat e reja ruhen në një variabël, për shembull, si këto:
let data = {
id: 'IWSpfBPSV3SXgRF87uO74',
prop1: 'value21 !',
prop2: 'value22 !',
prop3: 'value23 !',
};
Në objektin e dhënë id përputhet
me id e elementit të dytë të grupit, ndërsa vlerat
e vetive janë të ndryshme. Me fjalë të tjera,
në data në vetinë id ruhet
id i atij elementi të grupit të cilin
duam ta ndryshojmë.
Le ta kryejmë këtë ndryshim. Për këtë
do të përsërisim elementët e grupit me një cikël
dhe, nëse id përputhet me atë të kërkuar, do të kryejmë
zëvendësimin e elementit, ndërsa nëse nuk përputhet, do ta lëmë
elementin të pandryshuar:
let res = arr.map(elem => {
if (elem.id === data.id) {
return data;
} else {
return elem;
}
});
Mund ta shkurtojmë kodin, duke përdorur operatorin ternar:
let res = arr.map(elem => elem.id === data.id ? data : elem);
Le të themi se në një variabël ruhet id i një elementi
të grupit. Krijo një buton, upon clicking on
which the corresponding
element of the array will be changed.