Тағйир додани элемент бо id дар JavaScript
Бигзор дар тағирёбандаи arr
массиви объектҳо хобанд:
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',
},
];
Бигзор мо мехоҳем ягон элементи массивро тағйир диҳем. Бигзор маълумоти нав дар тағирёбанда нигоҳ дошта шавад, масалан, инҳоянд:
let data = {
id: 'IWSpfBPSV3SXgRF87uO74',
prop1: 'value21 !',
prop2: 'value22 !',
prop3: 'value23 !',
};
Дар объекти овардашуда id бо
id элементи дуюми массив мувофиқат мекунад, а арзишҳои
хусусиятҳо - дигаранд. Ба ибораи дигар
дар data дар хусусияти id мо
id он элементи массивро нигоҳ медорем, ки
мо мехоҳем тағйир диҳем.
Биёед ин тағйиротро иҷро кунем. Барои ин
элементҳои массивро бо даври сиклоп гузаронида,
агар id бо id дархостшуда мувофиқат кунад, иваз кардани элементро иҷро мекунем,
ва агар мувофиқат накунад, элементро
бе тағйирот мегузорем:
let res = arr.map(elem => {
if (elem.id === data.id) {
return data;
} else {
return elem;
}
});
Метавон кодро бо истифода аз оператори сегона кутоҳ кард:
let res = arr.map(elem => elem.id === data.id ? data : elem);
Бигзор дар тағирёбанда id элементи
массив нигоҳ дошта шавад. Тугмае созед, ки бо пахш кардани
он элементҳои мувофиқи
массив тағйир дода шаванд.