Тағйир додани элемент бо id дар JavaScript

Бигзор дар тағирёбандаи arr массиви объектҳо хобанд:

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

Бигзор мо мехоҳем ягон элементи массивро тағйир диҳем. Бигзор маълумоти нав дар тағирёбанда нигоҳ дошта шавад, масалан, инҳоянд:

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

Дар объекти овардашуда id бо id элементи дуюми массив мувофиқат мекунад, а арзишҳои хусусиятҳо - дигаранд. Ба ибораи дигар дар data дар хусусияти id мо id он элементи массивро нигоҳ медорем, ки мо мехоҳем тағйир диҳем.

Биёед ин тағйиротро иҷро кунем. Барои ин элементҳои массивро бо даври сиклоп гузаронида, агар id бо id дархостшуда мувофиқат кунад, иваз кардани элементро иҷро мекунем, ва агар мувофиқат накунад, элементро бе тағйирот мегузорем:

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

Метавон кодро бо истифода аз оператори сегона кутоҳ кард:

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

Бигзор дар тағирёбанда id элементи массив нигоҳ дошта шавад. Тугмае созед, ки бо пахш кардани он элементҳои мувофиқи массив тағйир дода шаванд.