5 of 17 menu

Errore nella modifica di un elemento dell'array in JavaScript

Analizziamo l'errore che si verifica quando si modifica in modo errato un elemento dell'array. Supponiamo di avere il seguente array:

let arr = [1, 2, 3, 4, 5];

Supponiamo inoltre di avere una funzione che accetta un numero come parametro e restituisce il quadrato di quel numero:

function func(num) { return num ** 2; }

Utilizziamo un ciclo for-of per iterare attraverso il nostro array e applichiamo la nostra funzione a ciascuno dei suoi elementi:

for (let elem of arr) { elem = func(elem); }

È qui che i principianti spesso commettono un errore. Il fatto è che la modifica della variabile elem non porta alla modifica dell'elemento nell'array stesso. Verifichiamolo:

console.log(arr); // l'array non è cambiato

L'array non cambia perché la variabile elem contiene una copia dell'elemento, non un riferimento ad esso. La modifica di elem influisce sulla copia, ma non sull'array stesso.

Per risolvere il problema, è necessario modificare proprio gli elementi dell'array:

for (let i = 0; i < arr.length; i++) { arr[i] = func(arr[i]); } console.log(arr); // ora l'array è cambiato
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta