Maison > interface Web > js tutoriel > Comment puis-je obtenir efficacement une liste des noms de propriétés d'objets JavaScript ?

Comment puis-je obtenir efficacement une liste des noms de propriétés d'objets JavaScript ?

Linda Hamilton
Libérer: 2024-12-05 12:09:14
original
435 Les gens l'ont consulté

How Can I Efficiently Get a List of JavaScript Object Property Names?

Liste des propriétés des objets JavaScript

Lorsque vous travaillez avec des objets JavaScript, la récupération d'une liste de noms de propriétés peut être essentielle. Supposons que vous ayez un objet défini comme suit :

var myObject = {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"};
Copier après la connexion

La question se pose : comment pouvons-nous obtenir efficacement une liste des noms de propriétés (par exemple, ["ircEvent", "method", "regex"]) ?

Navigateurs modernes :

Dans les navigateurs modernes, la méthode Object.keys intégrée fournit une solution élégante :

var keys = Object.keys(myObject);
Copier après la connexion

Polyfill pour les navigateurs existants :

Pour les navigateurs dépourvus de support natif, un polyfill simplifié peut être implémenté :

var getKeys = function(obj) {
   var keys = [];
   for (var key in obj) {
      keys.push(key);
   }
   return keys;
};
Copier après la connexion

Une approche alternative consiste à étendre le prototype Object :

Object.prototype.keys = function() {
   var keys = [];
   for (var key in this) {
      keys.push(key);
   }
   return keys;
};
Copier après la connexion

Cette méthode vous permet d'appeler .keys() sur n'importe quel objet. Cependant, l'extension du prototype peut avoir des effets secondaires et n'est généralement pas recommandée.

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