JavaScript-de id boýunça element üýtgetmek
arr üýtgeýjisinde nusgalar massiwiniň
ýatandygyny göz öňünde tutalyň:
javascriptlet 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',
},
];
Massiwiň bir elementini üýtgetmek isleýändigimizi göz öňünde tutalyň. Täze maglumatlar, meselem, şuňa meňzeş bir üýtgeýjide saklansyn:
javascriptlet data = {
id: 'IWSpfBPSV3SXgRF87uO74',
prop1: 'value21 !',
prop2: 'value22 !',
prop3: 'value23 !',
};
Görkezilen nusgada id massiwiň ikinji
elementiniň id bilen gabat gelýär,
ýöne aýratynlyklaryň bahalary başgadır. Başga
sözler bilen aýdylanda, data nusgasynyň
id aýratynlygynda biz üýtgetmek isleýän
massiw elementiniň id saklanýar.
Geliň bu üýtgeşligi ýerine ýetireliň. Bunuň üçin
massiw elementlerini aýlaw bilen gözden geçireris
we eger id gözlenileni bilen gabat gelýän
bolsa, elementi çalşyrarys, ýöne gabat gelmeýän
bolsa, elementi üýtgeşiksiz goýarys:
javascriptlet res = arr.map(elem => {
if (elem.id === data.id) {
return data;
} else {
return elem;
}
});
Kody üçlük operatoryndan peýdalanyp gysgaldyp bolýar:
javascriptlet res = arr.map(elem => elem.id === data.id ? data : elem);
Üýtgeýjide massiw elementiniň id
saklanandygyny göz öňünde tutuň. Degme
basylşynda degişli massiw elementi
üýtgedilýän düwmäni düzüň.