Иммутабельное изменение элементов массива в 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

Сделайте кнопку, по нажатию на которую будет происходить изменение элемента массива. Пусть номер элемента для изменения хранится в переменной.