小编典典

如何列出 JavaScript 对象的属性?

all

假设我这样创建了一个对象:

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

检索属性名称列表的最佳方法是什么?即我想最终得到一些可变的“键”,例如:

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

阅读 143

收藏
2022-02-28

共1个答案

小编典典

在现代浏览器(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 getKeysObject.prototype.keys允许您调用.keys()任何对象。扩展原型有一些副作用,我不建议这样做。

2022-02-28