我想创建一个新对象并为存储在某个 json 中的每个数组分配一些属性。我有这个主要工作除了...
for (var i in json) {
a = 0;
a++;
a = new Object();
for (var key in json[i]) {
var Key = key;
var Value = json[i][key];
a[Key] = Value;
}
a.outputProperties();
}
当我输出对象属性时,一切都是未定义的。
如果我在循环外创建单个对象并为其分配属性,它似乎工作正常,除了第一组属性被以下属性覆盖。不确定为什么我无法在循环内动态创建对象和分配属性。
最佳答案
您从未实际设置a
的任何属性。您只需设置 sup2
的属性。顺便说一句,你还有其他不必要的东西,比如 var Key = key;
试试这个:
for (var i in json) {
var a = new supplement();
for (var key in json[i]) {
a[key] = json[i][key];
}
a.outputProperties();
}
关于javascript - 在 for-in-loop 中创建新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3711247/