Řekněme, že vytvořím objekt takto:
var myObject = {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"};
Jaký je nejlepší způsob, jak získat seznam názvů vlastností? tj. chtěl bych skončit s některými proměnnými „klíči“, které:
keys == ["ircEvent", "method", "regex"]
Odpověď
V moderních prohlížečích (IE9+, FF4+, Chrome5+, Opera12+, Safari5+) můžete použít vestavěnou metodu Object.keys:
var keys = Object.keys(myObject);
Výše uvedené má plnou polyfill, ale zjednodušená verze je:
var getKeys = function(obj){ var keys = []; for(var key in obj){ keys.push(key); } return keys; }
Případně nahraďte var getKeys
s Object.prototype.keys
abyste mohli zavolat .keys()
na jakýkoli předmět. Rozšíření prototypu má některé vedlejší účinky a nedoporučoval bych to.
Příklady obou metod