Maison > interface Web > js tutoriel > Pourquoi la méthode `map` de JavaScript échoue-t-elle sur les tableaux créés avec `new Array(count)` ?

Pourquoi la méthode `map` de JavaScript échoue-t-elle sur les tableaux créés avec `new Array(count)` ?

Linda Hamilton
Libérer: 2024-12-11 11:23:14
original
407 Les gens l'ont consulté

Why Does JavaScript's `map` Method Fail on Arrays Created with `new Array(count)`?

Comprendre la création de tableaux et le comportement de la méthode map

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).

Array Creation

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.

Comportement de la méthode map

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.

Scénario du monde réel

Considérez le code suivant :

var x = new Array(3);
console.log(x.map(function() { return 0; }));
Copier après la connexion

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.

Solution

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]
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal