【问题标题】:Form array of property names found in a JavaScript Object [duplicate]在 JavaScript 对象中找到属性名称的表单数组 [重复]
【发布时间】:2015-07-21 14:57:38
【问题描述】:

我有以下对象

var columns = {ContributionType: "Employer Contribution",
               Employee1: "0",
               Employee2: "0",
               Employee3: "0"
              };

从这里我需要单独使用它们的属性键形成一个数组,如下所示

var keys=["ContributionType", "Employee1", "Employee2", "Employee3"];

属性的数量是动态的

问题: 如何使用 lodash 或纯 JavaScript 实现这一点?

【问题讨论】:

    标签: javascript lodash


    【解决方案1】:

    Object.keys()

    var columns = {ContributionType: "Employer Contribution",
                   Employee1: "0",
                   Employee2: "0",
                   Employee3: "0"
                  };
    var keys = Object.keys(columns);
    console.log(keys);

    【讨论】:

    • 必须等待11分钟才能接受答案!
    【解决方案2】:
    var arr=[];
    for (var key in columns)
    {
    //by using hasOwnProperty(key) we make sure that keys of
    //the prototype are not included if any
    if(columns.hasOwnProperty(key))
    {
        arr.push(key);
    }
    }
    

    【讨论】:

    • 使用这样的循环时要小心。您可能需要检查 obj.hasOwnProperty(key) 以检查原型没有添加密钥。
    • 感谢您指出这一点。
    猜你喜欢
    • 2018-04-11
    • 1970-01-01
    • 1970-01-01
    • 2013-11-21
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 2021-08-21
    相关资源
    最近更新 更多