Измена елемента по 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 поклапа са траженим, извршићемо
замену елемента, а ако се не поклапа, оставићемо
елемент непромењен:
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 елемента
низа. Направите дугме, притиском на
које ће се изменити одговарајући
елемент низа.