为了账号安全,请及时绑定邮箱和手机立即绑定

如何列出JavaScript对象的属性?

如何列出JavaScript对象的属性?

料青山看我应如是 2019-06-15 17:19:29
如何列出JavaScript对象的属性?假设我这样创建一个对象:var myObject =         {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"};检索属性名称列表的最佳方法是什么?也就是说,我想得到一些可变的“键”,这样:keys == ["ircEvent", "method", "regex"]
查看完整描述

3 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

在现代浏览器(IE9+、FF4+、Chrome 5+、Opera 12+、Safari 5+)中,您可以使用内置的Object.key方法:

var keys = Object.keys(myObject);

上面有一个完整的填充,但一个简化的版本是:

var getKeys = function(obj){
   var keys = [];
   for(var key in obj){
      keys.push(key);
   }
   return keys;}

替代var getKeys带着Object.prototype.keys允许你打电话.keys()任何物体上。扩展原型有一些副作用,我不建议这样做。


查看完整回答
反对 回复 2019-06-15
?
跃然一笑

TA贡献1826条经验 获得超6个赞

拉什尼克指出,您可以使用“for in”构造来迭代对象的属性名。但是,您将迭代对象的原型链中的所有属性名。如果你想迭代对于对象自身的属性,可以使用对象#hasOwnProperty()方法。因此具有以下特性。

for (var key in obj) {
    if (obj.hasOwnProperty(key)) {
        /* useful code here */
    }}


查看完整回答
反对 回复 2019-06-15
  • 3 回答
  • 0 关注
  • 519 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信