javascript - 如何列出 JavaScript 对象的属性?

标签 javascript

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

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/

相关文章:

javascript - 引用单个表的多列 - Sails JS API 模型

javascript - WordPress 中的 BXSlider

javascript - 如何使用默认按钮来关闭tippyjs的工具提示

javascript:这段代码的完整语法是什么?

javascript - 指令使 $scope.$watch 触发两次?

javascript - 在 VS Code 中调试时监 window 口或评估表达式?

javascript - 如何从一系列捐赠中返回每个独特捐赠类别的总计?

javascript - SlideUp/Slidedown - 按钮是关闭 div 的子元素,不会触发父元素

javascript - Angular 后数组对象

javascript - 为什么我不能使用 iframe 对象和 jQuery 遍历这个元素?