我有以下对象
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
答案 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;
}