当我尝试将对象推入数组时,将所有对象复制到最后一个推入的对象。
var seriesArr = [];
var seriesDemo = {};
var seriesFinal = finalArr[0]
for (var o in finalArr[0]) {
seriesDemo.valueField = o;
seriesArr.push(seriesDemo);
}
输出:
[{"valueField":"amount[3]"},{"valueField":"amount[3]"},{"valueField":"amount[3]"},{"valueField":"amount[3]"}]
It should be like: [{"valueField":"amount[0]"},{"valueField":"amount[1]"},{"valueField":"amount[2]"},{"valueField":"amount[3]"}]
最佳答案
也许您在寻找这个?
for (var o in finalArr[0]) {
var seriesDemo = {}; // (Re-)Initialize here
seriesDemo.valueField = o;
seriesArr.push(seriesDemo);
}
问题在于您每次都在更新全局
seriesDemo
哈希,并通过引用将其推送到seriesArr
中。因此,seriesArr
中的所有条目都保留了对最后一个条目的引用。