Files
freeCodeCamp/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const.md
2023-06-20 20:24:05 +09:00

3.2 KiB
Raw Blame History

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7b87367417b2b2512b42 Мутація масиву, оголошеного з const 1 301206 mutate-an-array-declared-with-const

--description--

Якщо ви ще не знайомі з const, див. це завдання про ключове слово const.

У сучасному JavaScript існує багато випадків оголошень з const.

Деякі розробники надають перевагу присвоєнню усіх змінних за допомогою const, якщо їм не потрібно повторно присвоїти значення. Тоді вони використовують let.

Однак варто розуміти, що об’єкти (включно з масивами та функціями), присвоєні змінній за допомогою const, всеодно можна змінити. Оголошення const всього лиш запобігає повторному присвоєнню ідентифікатора змінної.

const s = [5, 6, 7];
s = [1, 2, 3];
s[2] = 45;
console.log(s);

s = [1, 2, 3] призведе до помилки. Після коментування цього рядка, console.log показуватиме значення [5, 6, 45].

Як ви помітили, об’єкт [5, 6, 7] можна змінювати, але змінна s всеодно вказуватиме на змінений масив [5, 6, 45]. Як і усі масиви, елементи масиву в s є змінними, але оскільки було використано const, ви не можете використати ідентифікатор змінної s, щоб вказати на інший масив за допомогою оператора присвоєння.

--instructions--

Масив оголошений як const s = [5, 7, 2]. Змініть масив на [2, 5, 7], використовуючи різні присвоєння елементів.

--hints--

Ви не повинні замінювати ключове слово const.

assert(code.match(/const/g));

s повинна бути константною змінною (використовуйте const).

assert(code.match(/const\s+s/g));

Ви не повинні змінювати оголошення масиву.

assert(code.match(
/const\s+s\s*=\s*\[\s*5\s*,\s*7\s*,\s*2\s*\]\s*;?/g
));

s повинна дорівнювати [2, 5, 7].

assert.deepEqual(s, [2, 5, 7]);

--seed--

--seed-contents--

const s = [5, 7, 2];
function editInPlace() {
  // Only change code below this line

  // Using s = [2, 5, 7] would be invalid

  // Only change code above this line
}
editInPlace();

--solutions--

const s = [5, 7, 2];
function editInPlace() {
  s[0] = 2;
  s[1] = 5;
  s[2] = 7;
}
editInPlace();