如何从JS字符串创建对象属性

时间:2014-03-18 12:57:13

标签: javascript object

我有以下对象

reportData: {}

以及以下循环:

    for (var key in ABC.PrintReport.keyList) {
        console.log(ABC.PrintReport.keyList[key].Report_Key);
    }

此循环将打印出来:

objProperty0
objProperty1
objProperty2
objProperty3

我想为每个reportData命名的对象ABC.PrintReport.keyList[key].Report_Key创建属性。

reportData.objProperty0
reportData.objProperty1
reportData.objProperty2
reportData.objProperty3

3 个答案:

答案 0 :(得分:2)

您可以使用方括号在JavaScript中创建对象的属性:

for (var key in ABC.PrintReport.keyList) {
    var k = ABC.PrintReport.keyList[key].Report_Key;
    reportData[k] = 'some value';
}

答案 1 :(得分:1)

这样的事情应该这样做(参见bracket notation for object property access上的文档):

var reportData = {};
for (var key in ABC.PrintReport.keyList) {
    key = ABC.PrintReport.keyList[key].Report_Key;
    reportData[key] = 'some value';
}

答案 2 :(得分:1)

for (var key in ABC.PrintReport.keyList) {
    reportData[ABC.PrintReport.keyList[key].Report_Key] = ABC.PrintReport.keyList[key].Report_Key;
}