Измена елемента по id у JavaScript-у
Нека у променљивој arr се налази
низ објеката:
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',
},
];
Претпоставимо да желимо да изменимо неки елемент низа. Нека нови подаци буду сачувани у променљивој, на пример, овако:
javascriptlet data = {
id: 'IWSpfBPSV3SXgRF87uO74',
prop1: 'value21 !',
prop2: 'value22 !',
prop3: 'value23 !',
};
У наведеном објекту id се поклапа
са id другог елемента низа, док су вредности
својстава различите. Другим речима,
у data у својству id нам је сачуван
id оног елемента низа који
желимо да изменимо.
Хајде да извршимо ову промену. Зато ћемо
итерати кроз елементе низа петљом
и, ако се id поклапа са траженим, извршићемо
замену елемента, а ако се не поклапа, оставићемо
елемент непромењен:
javascriptlet res = arr.map(elem => {
if (elem.id === data.id) {
return data;
} else {
return elem;
}
});
Код се може скратити коришћењем тернарног оператора:
javascriptlet res = arr.map(elem => elem.id === data.id ? data : elem);
Претпоставимо да се у променљивој чува id елемента
низа. Направите дугме, притиском на
које ће се изменити одговарајући
елемент низа.