【发布时间】:2013-07-26 16:57:57
【问题描述】:
此代码用于在收到数据时更新图表
GraphChannel.on("data", function (newdata) {
var newdataobj = JSON.parse(newdata), updateGraph = "#graph"+newdataobj.ID, updateData = "data"+newdataobj.ID, updateOptions = "options"+newdataobj.ID;
incrementArray(newdataobj.ID, newdataobj.Data);
$.plot(updateGraph, [ updateData ], updateOptions);
console.log(newdataobj);
console.log(updateGraph);
console.log(updateData);
console.log(updateOptions);
});
控制台日志是:
Object {ID=0, Data=1}
#graph0
data0
options0
如果我删除变量并使用 0 作为 ID 并使用 1 作为数据,代码应如下所示:
GraphChannel.on("data", function (newdata) {
incrementArray(0, 1);
$.plot("#graph0", [ data0 ], options0);
});
我不知道为什么这不起作用
递增数组:
function incrementArray(array, letter){
for(var i = 0; i < array.length; i++){
var subArray = array[i];
if(subArray[0] == letter){
subArray[1]++;
return;
}
}
}
【问题讨论】:
-
incrementArray函数有什么作用? -
@StijnMartens 它将数组中的一个值增加 1,我知道这不是问题的原因,但我已将该函数添加到我的代码中
-
你想达到什么目的?
-
变量
data0和options0没有设置? -
@StijnMartens 我希望在通道接收到数据时更新我的浮动图,但是页面上可能有不同数量的图表,因此它们都有 ID,如 graph0 和 graph2。变量已经设置好了,我只是剪了代码。
标签: jquery variables real-time names