这个问题直接与Highcharts有关,但实际上与一般的JavaScript和循环更相关。
我的代码如下:
load:function(){
var series0 = this.series[0];
var series1 = this.series[1];
setTimeout(function(){
series0.addPoint(myjson.list[0].value);
series1.addPoint(myjson.list[1].value);
}, 1000);
}
我想首先展示一个有效的代码示例。使用Highcharts,此代码从我的JSON列表中收集指定的索引,并将它们附加到我现有的图表中。
当尝试for
循环执行相同的操作时,我最终会将其搞砸。
我的for
循环尝试:
var update = [];
for (i = 0; i < myjson.list.length; i++){
update[i] = this.series[i];
update.addPoint(myjson.list[i].Printvalue);
}
我的循环逻辑显然有问题,但我无法弄明白究竟是什么。运行此循环代码时,出现错误:
update.addPoint不是函数
我最大的猜测是它与我处理this
实例的方式有关。
答案 0 :(得分:2)
在您的示例中,update
是一个普通数组,因为您使用var update = []
声明它。普通的JavaScript数组没有名为addPoint
的函数。
我不确定它应该是什么,但它绝对与您使用this
没有任何关系。
如果this.series
中的项目包含addPoint
,您可能需要使用此项:
update[i].addPoint(myjson.list[i].Printvalue);
请注意[i]
之后的update
。