Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Highcharts:series datalabel格式化程序函数,用于循环数据,而不是格式化数组中的所有数据_Javascript_Arrays_Loops_Foreach_Highcharts - Fatal编程技术网

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);
}

请参阅以获取可用数据。

就是这样!非常感谢。