Имутабилна промяна на елементи от масив в JavaScript

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

javascriptlet arr = [1, 2, 3, 4, 5];

Нека номерът за промяна да се съхранява в променлива ind:

javascriptlet ind = 3;

Нека променим елемента с дадения номер. Според нашия подход трябва да направим копие на масива и да променим елемента в копието. Нека направим това:

javascriptlet copy = Object.assign([], arr);
copy[ind] = '!';
let res = copy;

Нека използваме втория подход:

javascriptlet res = [
  ...arr.slice(0, ind),
  '!',
  ...arr.slice(ind + 1)
];
Задание 1

Направете бутон, при натискането на който ще се извършва промяна на елемент от масива. Нека номерът на елемента за промяна да се съхранява в променлива.