Kubadilisha Kipengele kwa id katika JavaScript
Acha katika kibadilishaji arr kuwe na
safu ya vitu:
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',
},
];
Acha tuseme tunataka kubadilisha kipengele fulani cha safu. Acha data mpya ihifadhiwe kwenye kibadilishaji, kwa mfano, kama ifuatavyo:
let data = {
id: 'IWSpfBPSV3SXgRF87uO74',
prop1: 'value21 !',
prop2: 'value22 !',
prop3: 'value23 !',
};
Katika kitu kilichowekwa id inafanana
na id ya kipengele cha pili cha safu, lakini thamani
za sifa ni tofauti. Kwa maneno mengine
katika data katika sifa id tunahifadhi
id ya kipengele cha safu ambacho
tunataka kubadilisha.
Wacha tufanye mabadiliko haya. Kwa hili
tutapitia viambatanisho vya safu kwa kutumia kitanzi
na, ikiwa id inafanana na inayotafutwa, tutafanya
kubadilisha kipengele, na ikiwa haifanani, tutaacha
kipengele bila mabadiliko:
let res = arr.map(elem => {
if (elem.id === data.id) {
return data;
} else {
return elem;
}
});
Inaweza kufupishwa kwa kutumia kiendeshaji ternary:
let res = arr.map(elem => elem.id === data.id ? data : elem);
Acha katika kibadilishaji kihifadhiwe id ya kipengele
cha safu. Fanya kifungo, ubonyeze
ambayo kipengele kinachofanana
cha safu kitabadilishwa.