Files
freeCodeCamp/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const.md
freeCodeCamp's Camper Bot e6b05ee25d chore(i18n,learn): processed translations (#54537)
Co-authored-by: Naomi <nhcarrigan@gmail.com>
2024-04-26 12:26:37 +07:00

2.5 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7b87367417b2b2512b42 Mutare un array dichiarato con const 1 301206 mutate-an-array-declared-with-const

--description--

Se non hai familiarità con const, controlla questa sfida che parla della parola chiave const.

La dichiarazione const ha molti casi di utilizzo nel JavaScript moderno.

Alcuni sviluppatori preferiscono assegnare tutte le loro variabili usando const come impostazione predefinita, a meno che non sappiano di doverne riassegnare il valore. Solo in quel caso usano let.

Tuttavia, è importante capire che gli oggetti (inclusi gli array e le funzioni) assegnati a una variabile utilizzando const sono ancora mutabili. L'utilizzo della dichiarazione const impedisce solo la riassegnazione dell'identificatore della variabile.

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

s = [1, 2, 3] comporterà un errore. Dopo aver trasformato la riga in un commento, il console.log mostrerà il valore [5, 6, 45].

Come puoi vedere, puoi mutare l'oggetto [5, 6, 7] stesso e la variabile s punterà ancora all'array alterato [5, 6, 45]. Come tutti gli array, gli elementi in s sono mutabili, ma poiché è stata usata const, non è possibile utilizzare l'identificatore di variabile s per puntare ad un array diverso utilizzando l'operatore di assegnazione.

--instructions--

Un array è dichiarato come const s = [5, 7, 2]. Cambia l'array in [2, 5, 7] usando varie assegnazioni di elementi.

--hints--

Non dovresti sostituire la parola chiave const.

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

s dovrebbe essere una variabile costante (usando const).

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

Non dovresti cambiare la dichiarazione originale dell'array.

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

s dovrebbe essere uguale a [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();