La méthode map est un outil puissant en JavaScript pour transformer des éléments dans un tableau. Cependant, vous pouvez rencontrer des résultats inattendus lorsque vous l'utilisez sur des tableaux créés avec new Array(count).
La nouvelle syntaxe Array(count) crée un tableau avec un nombre spécifié d'éléments . Cependant, ces éléments ne sont initialisés avec aucune valeur par défaut, ce qui entraîne un tableau rempli de valeurs non définies.
La méthode map applique une fonction à chaque élément d'un tableau et renvoie un nouveau tableau avec les éléments modifiés. Dans le cas d'un tableau créé avec new Array(count) et rempli avec des valeurs non définies, la méthode map ne modifie pas les valeurs car undefined n'est pas évalué comme véridique en JavaScript.
Considérez le code suivant :
var x = new Array(3); console.log(x.map(function() { return 0; }));
Ce code crée un tableau avec trois éléments non définis. Lorsque vous appliquez la méthode map, cela ne modifie pas les éléments et la sortie reste un tableau avec des valeurs non définies.
Pour résoudre ce problème, vous pouvez remplir le tableau avec n'importe quelle valeur (même indéfini) en utilisant Array.prototype.fill(). Cela garantit que la méthode map a des valeurs avec lesquelles travailler.
var x = new Array(3).fill(undefined); console.log(x.map(function() { return 0; })); // [0, 0, 0]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!