Egy tulajdonság módosítása id alapján JavaScriptben
Előfordulhat, hogy nem a teljes objektumot, hanem egy konkrét tulajdonságot kell módosítanod. Nézzük meg, hogyan tehetjük ezt meg.
Tegyük fel, hogy a arr változóban
egy objektumokból álló tömb található:
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',
},
];
Tegyük fel, hogy változókban tároljuk az elem
id-ját, a módosítandó tulajdonság nevét
és a tulajdonság új értékét:
let id = 'IWSpfBPSV3SXgRF87uO74';
let prop = 'prop1';
let value = '!!!';
A feladat megoldásához kényelmesen használhatjuk a destrukturálást és a számított tulajdonságneveket:
let res = arr.map(elem => {
if (elem.id === id) {
return {...elem, [prop]: value};
} else {
return elem;
}
});
Adottak a következő változók:
let id = 'JAmjRlfQT8rLTm5tG2m1L';
let prop = 'prop2';
Készítsen egy gombot, amelyre kattintva a
megadott id-val rendelkező tömb elemet
veszi, annak a megadott névvel rendelkező
tulajdonságát kiválasztja, és a tulajdonság
értékének végéhez hozzáfűz egy '!' jelet.
Tegyük fel, hogy két változó adott tulajdonságnevekkel:
let id = 'JAmjRlfQT8rLTm5tG2m1L';
let prop1 = 'prop2';
let prop2 = 'prop3';
Módosítsa az előző feladatot úgy, hogy a kattintásra a változtatások azonnal elvégezendők legyenek a két megadott tulajdonságra.
Alakítsa át az elméletben bemutatott megoldást
úgy, hogy az objektum másolása a Object.assign
segítségével történjen.