Modificarea unui element după id în JavaScript

Să presupunem că în variabila arr se află un tablou de obiecte:

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

Să presupunem că vrem să modificăm un element al tabloului. Să presupunem că noile date sunt stocate într-o variabilă, de exemplu, astfel:

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

În obiectul dat id coincide cu id celui de-al doilea element al tabloului, iar valorile proprietăților sunt diferite. Cu alte cuvinte, în data în proprietatea id este stocat id acelui element al tabloului pe care îl dorim să-l modificăm.

Să efectuăm această modificare. Pentru aceasta vom parcurge elementele tabloului cu un ciclu și, dacă id coincide cu cel căutat, vom efectua înlocuirea elementului, iar dacă nu coincide, vom lăsa elementul neschimbat:

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

Putem scurta codul, folosind operatorul ternar:

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

Să presupunem că într-o variabilă este stocat id unui element al tabloului. Creați un buton, la click pe care va fi modificat elementul corespunzător al tabloului.