Javascript :: Wie bekommt man die Schlüssel eines assoziativen Arrays zur Array-Variablen?

7

Nehmen wir ein assoziatives Array wie folgt:

%Vor%

Gibt es einen einfachen / kurzen Weg, ein Array von Schlüsseln für eine Array-Variable ohne Schleife zu erhalten?

Wenn dies der Fall ist, ist es außerdem möglich, einen regulären Ausdruck auf die Schlüsselliste anzuwenden, um nur Schlüssel zu erhalten, die zu einem Muster (sagen wir /^x/ ) ohne eine weitere Schleife passen ?

    
Ωmega 19.07.2012, 12:55
quelle

2 Antworten

14
  

Gibt es einen einfachen / kurzen Weg, wie man ein Array von Schlüsseln zu einer Array-Variablen ohne Schleife bekommt ..?

Ja, ECMAScript 5 definiert Object.keys , um dies zu tun. Die meisten Modernen Browser-Engines werden es wahrscheinlich haben, ältere werden es nicht tun, aber es ist leicht shimmed (zum Beispiel dieses Shim ) tut).

  

Wenn ja, ist es außerdem möglich, einen regulären Ausdruck auf die Schlüsselliste anzuwenden, um nur Schlüssel zu erhalten, die mit einem solchen Muster (sagen wir /^x/ ) ohne (eine andere) Schleife übereinstimmen?

Nein, keine eingebaute Funktionalität dafür. Denken Sie daran, es ist eine triviale Funktion zu schreiben:

%Vor%     
T.J. Crowder 19.07.2012, 13:00
quelle
12

JavaScript 1.8.5 bietet diese Funktionalität mit Object.keys () . Es gibt ein Array aller Schlüssel zurück. Sie könnten ein Shim für nicht unterstützte Browser verwenden ( MDN hat auch Hilfe dazu ) .

Als Beispiel sehen Sie dies ( jsFiddle ) ...

%Vor%     
scottheckel 19.07.2012 12:58
quelle