Maison  >  Article  >  interface Web  >  Pourquoi les tableaux JavaScript sont-ils rares et comment cela affecte-t-il leur comportement ?

Pourquoi les tableaux JavaScript sont-ils rares et comment cela affecte-t-il leur comportement ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-17 17:10:02236parcourir

Why are JavaScript arrays sparse and how does this affect their behavior?

Tableaux Javascript clairsemés

Les tableaux Javascript sont uniques en ce sens qu'ils sont clairsemés, ce qui signifie que tous les éléments entre le premier et le dernier élément ne sont pas nécessairement attribué. Ceci est différent des tableaux de nombreux autres langages de programmation, qui sont généralement des blocs de mémoire contigus.

Implémentation de table de hachage

En interne, les tableaux Javascript sont implémentés sous forme de tables de hachage. Cela signifie que les clés peuvent être de n’importe quel type de données, pas seulement des nombres entiers. Lorsqu'un élément est accédé ou attribué, sa clé est convertie en chaîne à l'aide de la méthode toString(). Par la suite, la valeur réelle de l'élément est stockée ou récupérée de la table de hachage à l'aide de la clé de chaîne.

Démonstration de tableau clairsemé

La nature clairsemée des tableaux Javascript peut être démontré avec le code suivant :

var array = [];
array[0] = "zero";
array[new Date().getTime()] = "now";
array[3.14] = "pi";

for (var i in array) {
  alert("array[" + i + "] = " + array[i] + ", typeof(" + i + ") == " + typeof(i));
}

Sortie :

array[0] = zero, typeof(0) == string
array[1254503972355] = now, typeof(1254503972355) == string
array[3.14] = pi, typeof(3.14) == string

Remarquez que le tableau contient désormais trois éléments avec les clés "0", "1254503972355" , et "3.14". Ces clés représentent les indices des éléments du tableau, qui ont été convertis en chaînes.

Implications des tableaux clairsemés

La nature clairsemée des tableaux Javascript a plusieurs implications :

  • Il n'est pas garanti que les éléments entre le premier et le dernier éléments soient alloués.
  • L'itération utilisant for (var i = 0; i < array.length; i) peut ne pas visiter tous éléments.
  • Les tableaux clairsemés peuvent être utilisés pour des ensembles de données clairsemés ou des tableaux associatifs.

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