Как поменять местами элементы в массиве JS

Необходимо создать массив, элементы которого вводит пользователь.

Ввод некорректного значения прекращает ввод чисел.

Произвести такую замену:

1 элемент поменять с 2, 3 элемент поменять с 4, 5 элемент поменять с 6 и тд.

Если длина массива нечетная - последний элемент не трогать.

Пример: было 1 2 3 4 5 6, должно стать: 2 1 4 3 6 5

Вот что пока получилось:

let arr = [];

 let index = 0;
 while(index >= 0) {
  let digit = +prompt('enter a digit');
     if (isNaN(digit)) {
         break;
     }
     arr[index] = digit;
     index++;
 }
 console.log(arr);

for (var res = [], j  = arr.length - 1; j >= 0; j -= 4)
   res.unshift (arr [j - 2]), res.unshift (arr [j - 3]),
   res.unshift (arr [j]),     res.unshift (arr [j - 1]); 
alert (res);

Ответы (2 шт):

Автор решения: Igor

let a = [1,2,3,4,5,6,7];
for (let i = 0; i < a.length - 1; i += 2) {
  let t = a[i];
  a[i] = a[i + 1];
  a[i + 1] = t;
}
console.log(JSON.stringify(a));

→ Ссылка
Автор решения: Aziz Umarov

Можно так, через деструктурирующее присваивание. Воспользовался ответом @Igor

let a = [1,2,3,4,5,6,7];
for (let i = 0; i < a.length - 1; i += 2) {     
  [a[i], a[i + 1]] = [a[i+1], a[i]];
}
console.log(JSON.stringify(a));

→ Ссылка