所以我有一些包含一些数据的数组。我使用setData
方法设置我的系列数据,如下所示:
chartInstance.series[0].setData(chartData);
这是第一次正常工作,但是我要说我更改了chartData
中的一些数据并希望将其应用到我的高级图表中。下次我调用上面的setData()
方法时,它对我不起作用,因为我没有看到更改应用于我的图表。但是,如果我使用slice()
:
chartInstance.series[0].setData(chartData.slice());
我只是想知道这是否是预期的行为,如果是这样,为什么它会这样?谢谢。
答案 0 :(得分:0)
是的,这是预期的行为。
以下是 API 的解释:
新数据数组通过引用传递(除非是 updatePoints),更新图表数据后可能会变异。
来源: https://api.highcharts.com/class-reference/Highcharts.Series#setData
在将数据传递给slice()
之前克隆数据(例如使用setData
)是一种很好的做法。