5 of 17 menu

Error al modificar un elemento de un array en JavaScript

Analicemos el error que ocurre al modificar incorrectamente un elemento de un array. Supongamos que tenemos el siguiente array:

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

Supongamos también que tenemos una función que toma un número como parámetro y devuelve el cuadrado de ese número:

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

Usemos un bucle for-of para iterar sobre nuestro array y aplicar nuestra función a cada uno de sus elementos:

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

En este punto, los principiantes a menudo cometen un error. El problema es que modificar la variable elem no conduce a un cambio en el elemento del array en sí. Verifiquemos esto:

console.log(arr); // el array no ha cambiado

El array no cambia porque la variable elem almacena una copia del elemento, no una referencia al mismo. Modificar elem afecta a la copia, pero no al array original.

Para resolver el problema, debemos modificar precisamente los elementos del array:

for (let i = 0; i < arr.length; i++) { arr[i] = func(arr[i]); } console.log(arr); // ahora el array ha cambiado
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar