ES6 делает деструктуризацию массивов такой же легкой, как и деструктуризацию объектов. Одним из ключевых различий между оператором спреда и деструктурированием массива является то, что оператор спред распаковывает все содержимое массива в список, разделенный запятыми. Следовательно, вы не можете выбирать, какие элементы вы хотите назначить переменным. Деструктуризация массива позволяет нам делать это:
const [a, b] = [1, 2, 3, 4, 5, 6];
console.log (a, b); // 1, 2 Переменной a присваивается первое значение массива, а b - второе значение массива. Мы также можем получить доступ к значению по любому индексу в массиве с деструктурированием, используя запятые для достижения желаемого индекса: const [a, b ,,, c] = [1, 2, 3, 4, 5, 6];
console.log (a, b, c); // 1, 2, 5
Замечание: На самом деле можно получить любые элементы массива, используя деструктуризацию как в объектах, только в качестве ключей передавать индексы элементов. Пример:
const arr = [1, 2, 3, 4, 5, 6];
const {
2: a, // 3
4: b, // 5
} = arr;
a === arr[2] // true
b === arr[4] // true
Используйте деструктуризацию для обмена значениями a и b чтобы a получила значение, сохраненное в b, и b получило значение, сохраненное в a.