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 ?
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%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%Tags und Links javascript arrays regex hash associative-array