2.5 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
587d7b89367417b2b2512b4b | Використовуйте деструктивне привласнення для визначення змінних із масивів | 1 | 301213 | use-destructuring-assignment-to-assign-variables-from-arrays |
--description--
ES6 створює деструктивні масиви так само легко, як і деструктивні об'єкти.
Однією з ключових відмінностей між спред оператором та деструктивним масивом є те, що спред оператор розпаковує весь вміст масиву в список, розділений комою. Отже, ви не можете вибрати, які елементи ви бажаєте призначити змінним.
Деструкція масиву дозволяє нам зробити це:
const [a, b] = [1, 2, 3, 4, 5, 6];
console.log(a, b);
В консолі відображатимуться значення a
та b
як 1, 2
.
Змінна a
призначає перше значення масиву, а b
присвоюється друге значення масиву. Також ми можемо отримати доступ до значення у масиві з деструкцією за допомогою коми для досягнення бажаного індексу:
const [a, b,,, c] = [1, 2, 3, 4, 5, 6];
console.log(a, b, c);
В консолі відображатимуться значення a
, b
, та c
як 1, 2, 5
.
--instructions--
Використайте привласнення для заміни значень a
and b
, так, що a
отримує значення, збережене в b
, і b
отримує значення, збережене в a
.
--hints--
Значення a
має бути 6
, після перегортання.
assert(a === 6);
Значення b
має бути 8
, після перегортання.
assert(b === 8);
Ви повинні використовувати деструктивний масив, щоб замінити a
та b
.
assert(/\[\s*(\w)\s*,\s*(\w)\s*\]\s*=\s*\[\s*\2\s*,\s*\1\s*\]/g.test(code));
--seed--
--seed-contents--
let a = 8, b = 6;
// Only change code below this line
--solutions--
let a = 8, b = 6;
[a, b] = [b, a];