Heim >Web-Frontend >js-Tutorial >Wie kann ich effizient eine Liste der JavaScript-Objekteigenschaftsnamen abrufen?

Wie kann ich effizient eine Liste der JavaScript-Objekteigenschaftsnamen abrufen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-05 12:09:14462Durchsuche

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

Eigenschaften von JavaScript-Objekten auflisten

Bei der Arbeit mit JavaScript-Objekten kann das Abrufen einer Liste von Eigenschaftsnamen unerlässlich sein. Angenommen, Sie haben ein Objekt wie folgt definiert:

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

Es stellt sich die Frage: Wie können wir effizient eine Liste der Eigenschaftsnamen erhalten (z. B. ["ircEvent", "method", "regex"]) ?

Moderne Browser:

In modernen Browsern sorgt die integrierte Object.keys-Methode für eine elegante Lösung:

var keys = Object.keys(myObject);

Polyfill für ältere Browser:

Für Browser ohne native Unterstützung kann ein vereinfachtes Polyfill implementiert werden:

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

Ein alternativer Ansatz besteht darin, den Objektprototyp zu erweitern:

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

Mit dieser Methode können Sie .keys() für jedes Objekt aufrufen. Eine Erweiterung des Prototyps kann jedoch Nebenwirkungen haben und wird grundsätzlich nicht empfohlen.

Das obige ist der detaillierte Inhalt vonWie kann ich effizient eine Liste der JavaScript-Objekteigenschaftsnamen abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn