Pourquoi la création d'un tableau affecte-t-elle la transformation du tableau ?
Dans certains environnements, la création d'un tableau à l'aide de new Array(count) présente un comportement inattendu avec la méthode cartographique. Contrairement aux tableaux créés avec une syntaxe littérale (par exemple, [indéfini, indéfini, indéfini]), les tableaux construits via new Array(3) ne transforment pas correctement leurs éléments à l'aide de map.
Ce comportement est attribué à un tableau non rempli. Lors de la création d'un tableau à l'aide de new Array(count), les éléments du tableau résultant restent indéfinis. Cela diffère des tableaux créés à l'aide de la syntaxe littérale, qui initialisent automatiquement les éléments avec undéfini.
Pour contourner ce problème et garantir que la carte fonctionne correctement, il est recommandé de remplir les éléments du tableau avec n'importe quelle valeur, telle que undéfini. , avant de tenter la transformation. La méthode Array.prototype.fill() peut être utilisée à cet effet.
Par exemple, pour créer un tableau des 10 premiers entiers en utilisant new Array(count) et map :
let arr = new Array(10).fill(undefined).map((val, idx) => idx);
Cela produira le résultat souhaité :
[0,1,2,3,4,5,6,7,8,9]
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!