Ändern eines Elements anhand der ID in JavaScript

Nehmen wir an, in der Variable arr liegt ein Array von Objekten:

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',
  },
];

Nehmen wir an, wir möchten ein Element des Arrays ändern. Nehmen wir an, die neuen Daten sind in einer Variable gespeichert, zum Beispiel so:

javascriptlet data = {
  id: 'IWSpfBPSV3SXgRF87uO74',
  prop1: 'value21 !',
  prop2: 'value22 !',
  prop3: 'value23 !',
};

Im angegebenen Objekt id stimmt mit der id des zweiten Elements des Arrays überein, aber die Werte der Eigenschaften sind anders. Mit anderen Worten, in data ist in der Eigenschaft id die id des Array-Elements gespeichert, das wir ändern möchten.

Lassen Sie uns diese Änderung durchführen. Dazu durchlaufen wir die Elemente des Arrays mit einer Schleife und, wenn die id mit der gesuchten übereinstimmt, führen wir den Austausch des Elements durch, und wenn sie nicht übereinstimmt, lassen wir das Element unverändert:

javascriptlet res = arr.map(elem => {
  if (elem.id === data.id) {
    return data;
  } else {
    return elem;
  }
});

Der Code kann durch Verwendung des ternären Operators verkürzt werden:

javascriptlet res = arr.map(elem => elem.id === data.id ? data : elem);
Задание 1

Nehmen wir an, in einer Variable ist die id eines Elements des Arrays gespeichert. Erstellen Sie einen Button, bei dessen Klick das entsprechende Element des Arrays geändert wird.