Sunday 21 January 2018

How to list the properties of a JavaScript object?

itemprop="text">

Say I create an object
thus:



var myObject =

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


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:




keys ==
["ircEvent", "method", "regex"]


Answer




In modern browsers (IE9+, FF4+, Chrome5+,
Opera12+, Safari5+) you can use the built in href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/keys"
rel="noreferrer">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.



No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...