<p>Say I create an object thus:</p>

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

<p>What is the best way to retrieve a list of the property names? i.e. I would like to end up with some variable 'keys' such that:</p>

<pre><code>keys == ["ircEvent", "method", "regex"]
</code></pre>

In modern browsers (IE9+, FF4+, Chrome5+, Opera12+, Safari5+) you can use the built in
Object.keys
method:
```
```
var keys = Object.keys(myObject);
```
```
The above has a full polyfill but a simplified version is:
```
```
var getKeys = function(obj){
   var keys = [];
   for(var key in obj){
      keys.push(key);
   }
   return keys;
}
```
```
Alternatively replace
```
var getKeys
```
with
```
Object.prototype.keys
```
to allow you to call
```
.keys()
```
on any object.  Extending the prototype has some side effects and I wouldn't recommend doing it.