我遇到了一个真正愚蠢的问题。我试图使用D3.js动态绘制数据(一些人)。
我坚持了3个小时,不管你信不信。
如果有人可以帮助我。感谢
var data = [];
record = {Fanny : 40, Joe : 20};
var time = 0;
record["time"] = time;
console.log(record);
myTimer = setInterval(function () {
time = time + 1;
record.time = time;
console.log(record);
data.push(record);
for (i = 0; i < data.length; i++) {
console.log(data[i].time)
}
},1000);
答案 0 :(得分:2)
您需要为每次迭代创建一个新的record
。
现在,您只有相同的单曲(但在数组中重复多次)record
并继续更新。
data.push({ Fanny: 40, Joe: 20, time: time });
答案 1 :(得分:0)
您可能正在处理引用问题,这意味着说
a是一个对象
a.name = 'toto';
var b = a;
b.name = 'titi';
console.log(a.name) // will output 'titi'
解决这个问题的一种方法是做不那么漂亮的
var b = JSON.parse(JSON.stringify(a));
打破引用