Maison > interface Web > js tutoriel > Comment déterminer efficacement la longueur d'un objet JavaScript ?

Comment déterminer efficacement la longueur d'un objet JavaScript ?

DDD
Libérer: 2024-12-16 16:12:16
original
753 Les gens l'ont consulté

How Do I Efficiently Determine the Length of a JavaScript Object?

Obtention de la longueur d'un objet JavaScript

En JavaScript, les objets sont dynamiques et mutables, ce qui signifie que leur contenu peut changer tout au long de l'exécution du programme. Déterminer la longueur d'un objet, qui représente le nombre de propriétés qu'il contient, est souvent nécessaire pour la logique de programmation et la manipulation des données.

Approches héritées : taille de l'objet par rapport à l'énumération des propriétés

Traditionnellement, les développeurs JavaScript disposaient de deux options principales pour obtenir la longueur d'un objet :

  1. Objet Size : utiliser Object.prototype.toString() pour obtenir une représentation sous forme de chaîne de l'objet et le diviser en virgules pour compter la longueur du tableau résultant. Cette approche était sujette aux erreurs et n'était pas fiable pour les objets imbriqués ou complexes.
  2. Énumération des propriétés : parcourir les propriétés de l'objet à l'aide d'une boucle et incrémenter un compteur pour suivre la longueur. Cependant, cela nécessitait une itération manuelle et n'était pas robuste contre l'héritage de prototype ou les ajouts de sucre syntaxique à l'objet.

Meilleures pratiques modernes : Object.keys()

Avec l'introduction d'ECMAScript 5 (ES5) et son adoption généralisée, la méthode préférée et la plus fiable pour obtenir la longueur d'un objet est Object.keys(). Cette méthode intégrée renvoie un tableau des noms de propriétés énumérables de l'objet, et sa longueur peut être directement obtenue :

const myObject = new Object();
myObject["firstname"] = "Gareth";
myObject["lastname"] = "Simpson";
myObject["age"] = 21;

const objectLength = Object.keys(myObject).length;
// objectLength will be 3
Copier après la connexion

Comptabilisation des propriétés symboliques

Cependant , il est important de noter que Object.keys() ne prend pas en compte les propriétés symboliques, qui sont des identifiants uniques ajoutés à un objet à l'aide de la fonction Symbol(). Pour gérer les propriétés symboliques, vous pouvez utiliser Object.getOwnPropertySymbols(), qui renvoie un tableau de noms de propriétés symboliques, et ajouter sa longueur au résultat de Object.keys().

const propOwn = Object.getOwnPropertyNames(person);
const propSymb = Object.getOwnPropertySymbols(person);

const objectLength = propOwn.length + propSymb.length;
Copier après la connexion

Conclusion

L'utilisation d'Object.keys() est la méthode la plus fiable et la plus polyvalente pour déterminer la longueur d'un objet JavaScript. Il est important de prendre en compte les propriétés symboliques lorsque cela est nécessaire pour obtenir un décompte précis de toutes les propriétés de l'objet. En tirant parti de cette approche, les développeurs peuvent gérer et manipuler efficacement les objets JavaScript dans leurs applications.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal