Поменять местами 2 значения в новом массиве

Реализуй функцию switchPlaces, которая в массивеarr меняет местами значения с индексами index1 и index2. Функция должна возвращать новый массив, и не изменять оригинальный arr. Если индексы невалидные (выходят за границы массива), то switchPlaces должна вернуть новый массив без изменений.

switchPlaces(['uno', 'tuo', 'tre'], 0, 3)