假设我创建了一个对象:
var myObject =
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"};
检索属性名称列表的最佳方式是什么?i、 e.我想以一些变量"键"结束,这样:
keys == ["ircEvent", "method", "regex"]
假设我创建了一个对象:
var myObject =
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"};
检索属性名称列表的最佳方式是什么?i、 e.我想以一些变量"键"结束,这样:
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()
.扩展原型有一些副作用,我不建议这样做.