在现代浏览器(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;
}
或者替换为vargetKeys
,Object.prototype.keys
以允许您调用.keys()
任何对象。扩展原型会产生一些副作用,我不建议您这样做。