Verandering van element volgens id in JavaScript
Laat in die veranderlike arr lê daar
'n array van 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 ons sê ons wil 'n element van die array verander. Laat die nuwe data in 'n veranderlike gestoor wees, byvoorbeeld soos hierdie:
let data = {
id: 'IWSpfBPSV3SXgRF87uO74',
prop1: 'value21 !',
prop2: 'value22 !',
prop3: 'value23 !',
};
In die gegewe objek stem id ooreen
met die id van die tweede element van die array, maar die waardes
van die eienskappe is anders. Met ander woorde,
in data word die id van die element wat
ons wil verander, in die eienskap id gestoor.
Kom ons voer hierdie verandering uit. Om dit te doen,
sal ons die elemente van die array met 'n siklus
deurloop en, as die id ooreenstem met die gesoekte een, sal ons
die element vervang, en as dit nie ooreenstem nie, sal ons dit
sonder veranderinge laat:
let res = arr.map(elem => {
if (elem.id === data.id) {
return data;
} else {
return elem;
}
});
Die kode kan verkort word deur die ternêre operator te gebruik:
let res = arr.map(elem => elem.id === data.id ? data : elem);
Laat die veranderlike die id van 'n element
van die array bevat. Maak 'n knoppie wat, wanneer dit gedruk word,
die ooreenstemmende element van die array sal verander.