Izmena elementa po id u JavaScript-u

Neka u promenljivoj arr se nalazi niz objekata:

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

Recimo da želimo da izmenimo neki element niza. Neka novi podaci budu sačuvani u promenljivoj, na primer, ovakvi:

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

U datom objektu id se poklapa sa id drugog elementa niza, dok su vrednosti svojstava - drugačije. Drugim rečima, u data u svojstvu id je sačuvan id onog elementa niza kojeg želimo da izmenimo.

Hajde da izvršimo ovu izmenu. Za to ćemo proći kroz elemente niza petljom i, ako se id poklapa sa traženim, izvršićemo zamenu elementa, a ako se ne poklapa, ostavićemo element nepromenjenim:

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

Kod se može skratiti korišćenjem ternarnog operatora:

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

Neka u promenljivoj bude sačuvan id elementa niza. Napravite dugme, čijim pritiskom će biti izmenjen odgovarajući element niza.