Maison >interface Web >js tutoriel >Pourquoi la méthode `map` de JavaScript ignore-t-elle les éléments non définis dans les tableaux clairsemés ?
Comprendre la création d'un tableau et la méthode map en JavaScript
Lors de la création d'un tableau à l'aide de la nouvelle expression Array(count), vous créez essentiellement un tableau clairsemé. Les tableaux clairsemés contiennent des « trous » ou des éléments non définis au niveau des indices auxquels aucune valeur n'a été explicitement attribuée. Ce comportement diffère des tableaux créés à l'aide de la syntaxe littérale de tableau ([1, 2, 3]), qui ont défini des valeurs pour tous les éléments.
La méthode map, quant à elle, tente d'appliquer une fonction de transformation à chaque élément d'un tableau. Cependant, lorsqu'elle est appliquée à un tableau clairsemé, la méthode map ignore les éléments non définis et transforme uniquement les éléments définis. Cela explique le comportement apparemment inattendu observé dans l'extrait de code donné.
Résoudre le problème
Pour résoudre ce problème, on peut résoudre le problème de la rareté du tableau avant d'appliquer le méthode cartographique. La méthode Array.prototype.fill() peut être utilisée pour attribuer une valeur par défaut (telle que non définie) à tous les éléments du tableau. Alternativement, la méthode map peut être combinée avec une instruction conditionnelle pour transformer uniquement les éléments définis :
var x = new Array(3).fill(undefined); var y = x.map(function(e) { return e !== undefined ? 0 : 1; }); console.log(y); // [1, 1, 1]
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!