Ändern einer Eigenschaft nach id in JavaScript
Es kann vorkommen, dass Sie nicht das gesamte Objekt, sondern eine bestimmte Eigenschaft ändern müssen. Schauen wir uns an, wie das gemacht wird.
Angenommen, in der Variable arr liegt
ein Array von Objekten:
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',
},
];
Angenommen, in Variablen sind die id des Elements,
der Name der zu ändernden Eigenschaft und der neue Wert
der Eigenschaft gespeichert:
let id = 'IWSpfBPSV3SXgRF87uO74';
let prop = 'prop1';
let value = '!!!';
Zur Lösung der Aufgabe ist es praktisch, Destrukturierung und berechnete Eigenschaftsnamen zu verwenden:
let res = arr.map(elem => {
if (elem.id === id) {
return {...elem, [prop]: value};
} else {
return elem;
}
});
Gegeben sind die folgenden Variablen:
let id = 'JAmjRlfQT8rLTm5tG2m1L';
let prop = 'prop2';
Erstellen Sie einen Button, bei dessen Klick das
Array-Element mit der angegebenen id genommen wird,
darin die Eigenschaft mit dem angegebenen Namen genommen wird
und an das Ende des Werts dieser Eigenschaft
das Zeichen '!' angehängt wird.
Angenommen, es sind zwei Variablen mit Eigenschaftsnamen gegeben:
let id = 'JAmjRlfQT8rLTm5tG2m1L';
let prop1 = 'prop2';
let prop2 = 'prop3';
Modifizieren Sie die vorherige Aufgabe so, dass beim Klick die Änderungen sofort für beide angegebenen Eigenschaften durchgeführt werden.
Passen Sie die in der Theorie gezeigte Lösung an,
indem Sie das Objekt mit Object.assign kopieren.