Adición de un elemento con id en JavaScript

Supongamos que en la variable arr hay un array de objetos:

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

Supongamos que en otra variable se almacena un objeto que queremos convertir en un nuevo elemento de nuestro array:

javascriptlet newElem = {
  id: 'GMNCZnFT4rbBP6cirA0Ha',
  prop1: 'value41',
  prop2: 'value42',
  prop3: 'value43',
};

Veamos cómo añadir dicho elemento de forma inmutable. Creemos una copia del array y añadámosle el nuevo elemento:

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

O podemos usar la desestructuración:

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

Se da un array de objetos. Crea un botón que al hacer clic añada un nuevo elemento al mismo. Que el id sea generado por una función.