Kubadilisha Sifa Moja kwa id katika JavaScript
Huenda ukahitaji kubadilisha sifa maalum ya kitu, sio kitu kizima. Hebu tuangalie jinsi ya kufanya hivyo.
Hebu tuchukulie katika kigezo arr kuna
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',
},
];
Hebu tuchukulie katika mabadiliko kuna id ya kipengele,
jina la sifa inayobadilishwa na thamani mpya
ya sifa hiyo:
let id = 'IWSpfBPSV3SXgRF87uO74';
let prop = 'prop1';
let value = '!!!';
Ili kutatua tatizo hili, ni rahisi kutumia destructuring na majina ya sifa yaliyohesabiwa:
let res = arr.map(elem => {
if (elem.id === id) {
return {...elem, [prop]: value};
} else {
return elem;
}
});
Kuna mabadiliko yafuatayo:
let id = 'JAmjRlfQT8rLTm5tG2m1L';
let prop = 'prop2';
Tengeneza kitufe, ambacho kibonyezwe
kitachukua kipengele cha safu chenye id iliyobainishwa,
ndani yake itachukua sifa iliyo na jina
iliyobainishwa na mwisho wa thamani ya sifa hiyo
itaongezewa alama '!'.
Hebu tuchukulie kuna mabadiliko mawili yenye majina ya sifa:
let id = 'JAmjRlfQT8rLTm5tG2m1L';
let prop1 = 'prop2';
let prop2 = 'prop3';
Rekebisha tatizo la awali ili kibonyezo kitakachobadilisha kitafanya mabadiliko kwa sifa zilizobainishwa mbili mara moja.
Badilisha suluhisho lililotolewa katika sehemu ya nadharia
kupitia kunakili kitu kwa kutumia Object.assign.