Javascript Highcharts:series datalabel格式化程序函数,用于循环数据,而不是格式化数组中的所有数据
我遇到了一个问题,格式化程序方法没有接收数组中的所有数据。例如:Javascript Highcharts:series datalabel格式化程序函数,用于循环数据,而不是格式化数组中的所有数据,javascript,arrays,loops,foreach,highcharts,Javascript,Arrays,Loops,Foreach,Highcharts,我遇到了一个问题,格式化程序方法没有接收数组中的所有数据。例如: var test = [1234, 4567, 1564, 7899]; chartData.plotOptions.series.datalabels.formatter = function () { for (var i = 0; i < test.length; i++) { // formatNumber() is a dummy method in this ex
var test = [1234, 4567, 1564, 7899];
chartData.plotOptions.series.datalabels.formatter = function () {
for (var i = 0; i < test.length; i++) {
// formatNumber() is a dummy method in this example
return formatNumber(test[i]);
}
};
After the loop, the datalabel only shows the first index data on each segment of bar chart.
var测试=[1234456715647899];
chartData.plotOptions.series.datalabels.formatter=函数(){
对于(变量i=0;i
结果仅返回第一个索引。我不知道为什么它没有在整个阵列中循环。有人能给我一些帮助吗?在
for
循环的第一次迭代之后,您的代码将返回
,这就是为什么您只看到第一个索引
这就是说,formatter
是一个应用于每个数据点的回调,因此您不需要循环测试值。您应该尝试以下方法:
chartData.plotOptions.series.datalabels.formatter = function() {
return formatNumber(this.y);
}
请参阅以获取可用数据。就是这样!非常感谢。