Maison > interface Web > js tutoriel > Comment les attributions de propriétés affectent-elles la longueur du tableau JavaScript ?

Comment les attributions de propriétés affectent-elles la longueur du tableau JavaScript ?

Mary-Kate Olsen
Libérer: 2024-12-02 03:40:13
original
900 Les gens l'ont consulté

How Do Property Assignments Affect JavaScript Array Length?

Anomalies des tableaux : propriétés par rapport aux éléments

En JavaScript, la polyvalence des objets s'étend également aux tableaux. Ce curieux phénomène vient du fait que les tableaux héritent du prototype Object. En conséquence, les tableaux peuvent être manipulés comme s'il s'agissait d'objets.

Affectation de propriétés dans les tableaux

Considérez les extraits de code suivants :

var myArray = Array();
myArray['A'] = "Athens";
myArray['B'] = "Berlin";
Copier après la connexion

et

var myObject = {'A': 'Athens', 'B':'Berlin'};
Copier après la connexion

Ces extraits de code semblent équivalents car ils créent tous deux des objets avec des propriétés nommées. Cependant, il existe une différence fondamentale entre eux.

Pièges de l'abus de propriété

Bien que les tableaux puissent être traités comme des objets, il est important de noter que les tableaux sont principalement destinés pour les données indexées numériquement. L'attribution de clés non numériques à un tableau peut entraîner un comportement inattendu.

Par exemple, considérez ce qui suit :

var myArray = Array();
myArray['A'] = "Athens";
myArray['B'] = "Berlin";

alert(myArray.length);
Copier après la connexion

Au lieu d'afficher « 2 » (le nombre attendu d'éléments), l'alerte affiche « 0 ». En effet, les touches non numériques (« A » et « B ») n'incrémentent pas la propriété length du tableau, qui suit le nombre d'éléments indexés numériquement.

En conclusion, même s'il peut sembler pratique d'ajouter propriétés nommées des tableaux, cette pratique doit être évitée car elle compromet l'objectif des tableaux et peut conduire à un comportement inattendu. Pour les touches non numériques, il est recommandé d'utiliser plutôt un objet pur.

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