Comprendre le comportement de la carte sur les tableaux créés avec un nouveau tableau (count)
Lorsque vous travaillez avec des tableaux JavaScript, il convient de noter un comportement particulier affiché par les tableaux créés à l'aide de la syntaxe new Array(count).
Comme démontré dans l'extrait de code ci-dessous, invoquer map() sur un tableau clairsemé (un tableau contenant des éléments non définis) créé avec new Array(count) donne un tableau de valeurs non définies :
var x = new Array(3); x.map(function() { return 0; }); // [undefined, undefined, undefined]
En revanche, effectuer la même opération sur un tableau dense array (un tableau sans éléments indéfinis) de même longueur fonctionne comme prévu :
var y = [undefined, undefined, undefined]; y.map(function() { return 0; }); // [0, 0, 0]
Cette distinction vient du fait que new Array(count) crée un tableau clairsemé, ce qui signifie il n'attribue pas de valeurs par défaut à ses éléments. Par conséquent, map() ne peut effectuer aucune opération sur les éléments non définis, ce qui entraîne un tableau de valeurs non définies.
Pour surmonter ce problème, vous pouvez soit utiliser une syntaxe de tableau littéral pour créer un tableau dense, soit remplir explicitement le tableau clairsemé avec les valeurs par défaut souhaitées en utilisant des méthodes telles que Array.prototype.fill().
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!