Maison >interface Web >js tutoriel >Pourquoi « map » semble-t-il échouer sur les tableaux créés avec « new Array(count) » ?

Pourquoi « map » semble-t-il échouer sur les tableaux créés avec « new Array(count) » ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-23 15:05:10706parcourir

Why Does `map` Seem to Fail on Arrays Created with `new Array(count)`?

Création d'un tableau et échec apparent de map

Dans certains navigateurs, créer un tableau via new Array(count) et tenter d'y appliquer la méthode map peut donner des résultats inattendus. Il est important de comprendre le mécanisme derrière ce comportement.

new Array(count) initialise un tableau avec un nombre total d'éléments, tous initialisés à non défini. Par conséquent, même si le tableau semble vide, il contient en réalité une série de valeurs non définies.

La méthode map, lorsqu'elle est appliquée à un tableau, crée un nouveau tableau en appliquant une fonction donnée à chaque élément du tableau. tableau d'origine. Dans l'exemple fourni, la fonction renvoie simplement 0.

Lorsqu'elle est invoquée sur un tableau initialisé avec new Array(count), la méthode map semble n'avoir aucun effet car elle renvoie un tableau de valeurs non définies. En effet, la fonction map est appliquée aux valeurs non définies dans le tableau d'origine, ce qui entraîne un nouveau tableau de valeurs non définies.

Pour résoudre ce problème, on peut initialiser les éléments du tableau avec une valeur spécifique, même indéfini, en utilisant la méthode Array.prototype.fill() avant de tenter d'appliquer map.

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!

Déclaration:
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