Добавяне на елемент с 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 newElem = {
  id: 'GMNCZnFT4rbBP6cirA0Ha',
  prop1: 'value41',
  prop2: 'value42',
  prop3: 'value43',
};

Нека разгледаме добавянето на такъв елемент по иммутабилен начин. Ще създадем копие на масива и ще добавим нов елемент в него:

javascriptlet copy = Object.assign([], arr);
copy.push(newElem);
let res = copy;

Или да използваме деструктуриране:

javascriptlet res = [...arr, newElem];
Задание 1

Даден е масив от обекти. Направете бутон, при натискането на който в него ще се добавя нов елемент. Нека id се генерира от функция.