Промена на едно својство по 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',
},
];
Нека во променливи се чуваат id на елементот,
името на својството за промена и новата вредност
на својството:
let id = 'IWSpfBPSV3SXgRF87uO74';
let prop = 'prop1';
let value = '!!!';
За решавање на задачата е погодно да се користи деструктурирање и пресметани имиња на својства:
let res = arr.map(elem => {
if (elem.id === id) {
return {...elem, [prop]: value};
} else {
return elem;
}
});
Дадени се следните променливи:
let id = 'JAmjRlfQT8rLTm5tG2m1L';
let prop = 'prop2';
Направете копче, при кликнување на кое ќе
се земе елементот од низата со наведениот id,
во него ќе се земе својството со наведеното
име и на крајот од вредноста на ова својство
ќе се додаде знакот '!'.
Нека се дадени две променливи со имиња на својства:
let id = 'JAmjRlfQT8rLTm5tG2m1L';
let prop1 = 'prop2';
let prop2 = 'prop3';
Модифицирајте ја претходната задача така што при кликнување промените да се извршат веднаш за двете наведени својства.
Преправете го решението дадено во теоријата
преку копирање на објектот со помош на Object.assign.