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

Comment puis-je récupérer efficacement les noms de propriétés d'objets en JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-10 09:54:10763parcourir

How Can I Efficiently Retrieve Object Property Names in JavaScript?

Récupération des propriétés d'un objet en JavaScript

La détermination des propriétés d'un objet JavaScript peut être cruciale pour diverses tâches de programmation. Pour y parvenir, nous explorerons des méthodes efficaces pour extraire une liste de noms de propriétés d'un objet.

Méthode Object.keys

Pour les navigateurs et environnements modernes (IE9 , FF4 , Chrome5 , Opera12 , Safari5 ), la méthode intégrée Object.keys() fournit une méthode simple solution :

var myObject = { ircEvent: "PRIVMSG", method: "newURI", regex: "^http://.*" };
var keys = Object.keys(myObject);

console.log(keys);
// Output: ["ircEvent", "method", "regex"]

Polyfill pour Object.keys

Si la prise en charge des navigateurs plus anciens est requise, une implémentation peut être polyfillée :

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

Extension de Object.prototype

Alternativement, on peut étendre le Object.prototype pour inclure une méthode key() :

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

var keys = myObject.keys();

Cette approche a des effets secondaires potentiels et doit être utilisée avec prudence.

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