LI
Size: a a a
LI
LI
ТБ
ჽ
SR
LI
BN
let arr = [1, 2, 3, 4, 5, 6];
let result = [];
while (arr.length > 0) {
[a, b, ...arr] = arr;
result.push(b, a);
}
console.log(result);
Я этот код взял с интернета и не понял почему он работает и выводит [2, 1, 4, 3, 6, 5] если по логике push не может изменять исходный массив и length не может как то изменяться. Мы же просто присваиваем к a и b первые два элемента нашего массива то есть 1 и 2. Код же не должен работать и крутить бесконечно цикл while и записывать туда цифры 2 и 1. Почему код работает можете объяснить?C
BN
BN
C
...arr
, он перезапишет в arr
оставшиеся недеструктурированные элементыC
[a, b, ...arr] = arr;
// a = 1; b = 2; arr = [3, 4, 5, 6]
BN
BN
C
AE
Я
C
AE
AY