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