【问题标题】:How do I return the name of an object's property? [duplicate]如何返回对象属性的名称? [复制]
【发布时间】:2015-06-14 04:05:29
【问题描述】:

在下面的代码中,我将如何返回对象的属性名称(prop1、prop2、prop3)myObject

var myObject = {
    prop1: "lorem",
    prop2: "ipsum",
    prop3: "dolor"
};

for (var key in myObject) {
    console.log(???);
}

【问题讨论】:

    标签: javascript object properties


    【解决方案1】:

    您可以使用Object.keys() 对其进行迭代

    Object.keys(myObject).map(function(key) {
      console.log(key);
    });
    

    【讨论】:

    • 这是一种冗长的方法,可以通过简单的循环来实现,正如 Lauren 所展示的那样。
    【解决方案2】:
    for (var key in object) {
        console.log(key);
    }
    

    编辑:我想提一下最好的做法是使用hasOwnProperty 检查对象是否具有该属性,否则您将遍历整个原型链。

    【讨论】:

    • 哇,我觉得自己很愚蠢。我想是时候休息一下了……
    【解决方案3】:

    var key

    【讨论】:

      【解决方案4】:

      你需要使用myObject而不是object:

      var myObject = {
          prop1: "lorem",
          prop2: "ipsum",
          prop3: "dolor"
      };
      for (var key in myObject) {
        console.log("key:", key, "value:", myObject[key])
      }
      

      【讨论】:

      • 啊,这是一个错字。我现在就解决这个问题。
      【解决方案5】:

      另一种方法是使用keys 方法将它们放入一个数组中:

      var keys = Object.keys(myObject);
      

      然后您可以使用普通循环遍历数组。如果您想对对象键执行多项操作,这通常很有用。

      【讨论】:

        猜你喜欢
        • 2018-06-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多