5 of 17 menu

Erreur de modification d'élément de tableau en JavaScript

Examinons l'erreur qui se produit lors de la modification incorrecte d'un élément de tableau. Supposons que nous ayons un tel tableau :

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

Supposons que nous ayons également une fonction qui prend un nombre en paramètre et renvoie le carré de ce nombre :

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

Utilisons une boucle for-of pour parcourir notre tableau et appliquer notre fonction à chacun de ses éléments :

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

C'est à cet endroit que les débutants commettent souvent une erreur. Le fait est que la modification de la variable elem n'entraîne pas la modification de l'élément dans le tableau lui-même. Vérifions cela :

console.log(arr); // le tableau n'a pas changé

Le tableau ne change pas parce que la variable elem contient une copie de l'élément, et non une référence vers celui-ci. La modification de elem affecte la copie, mais pas le tableau lui-même.

Pour résoudre le problème, il faut modifier précisément les éléments du tableau :

for (let i = 0; i < arr.length; i++) { arr[i] = func(arr[i]); } console.log(arr); // maintenant le tableau a changé
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser