Maison >interface Web >js tutoriel >Comment puis-je récupérer efficacement une liste de noms de propriétés d'objet en JavaScript ?

Comment puis-je récupérer efficacement une liste de noms de propriétés d'objet en JavaScript ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-08 10:01:13195parcourir

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

Identification des propriétés des objets en JavaScript

En JavaScript, les objets jouent un rôle crucial dans le stockage et la manipulation des données. Pour accéder aux propriétés (paires clé-valeur) d'un objet, différentes méthodes sont disponibles. Cet article explore les moyens efficaces de récupérer une liste de noms de propriétés, qui peuvent être utiles à diverses fins.

Méthode Object.keys

Navigateurs modernes (IE9 , FF4 , Chrome5 , Opera12 , Safari5 ) fournissent la méthode Object.keys, qui renvoie un tableau contenant les noms de propriétés de l'objet spécifié. object.

const myObject = {
  ircEvent: "PRIVMSG",
  method: "newURI",
  regex: "^http://.*"
};

const keys = Object.keys(myObject);
console.log(keys); // ["ircEvent", "method", "regex"]

Polyfill pour les navigateurs plus anciens

Pour les navigateurs qui ne prennent pas en charge Object.keys, un polyfill peut être utilisé :

const getKeys = function(obj) {
   const keys = [];
   for (const key in obj) {
      keys.push(key);
   }
   return keys;
}

const keys = getKeys(myObject);
console.log(keys); // ["ircEvent", "method", "regex"]

Extend Object. prototype

Alternativement, le Object.prototype peut être étendu avec un .keys() méthode :

Object.prototype.keys = function() {
   const keys = [];
   for (const key in this) {
      keys.push(key);
   }
   return keys;
}

const keys = myObject.keys();
console.log(keys); // ["ircEvent", "method", "regex"]

Notez que l'extension du prototype peut avoir des effets secondaires involontaires. Il est généralement recommandé d'utiliser plutôt Object.keys ou un polyfill.

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