假设我这样创建了一个对象:
var myObject =
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"};
检索属性名称列表的最佳方法是什么?即我想最终得到一些可变的“键”:
keys == ["ircEvent", "method", "regex"]
最佳答案
在现代浏览器(IE9+、FF4+、Chrome5+、Opera12+、Safari5+)中,您可以使用内置的Object.keys方法:
var keys = Object.keys(myObject);
上面有一个完整的 polyfill,但一个简化的版本是:
var getKeys = function(obj){
var keys = [];
for(var key in obj){
keys.push(key);
}
return keys;
}
或者将 var getKeys
替换为 Object.prototype.keys
以允许您在任何对象上调用 .keys()
。扩展原型(prototype)有一些副作用,我不建议这样做。
关于javascript - 如何列出 JavaScript 对象的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/208016/