Добавление элемента с 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 генерируется функцией.