Javascript Highcharts : series datalabel formatter function to loop data not formatting all data form the array

标签 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 example
           return formatNumber(test[i]);
       }
   };

   After the loop, the datalabel only shows the first index data on each segment of bar chart. 

结果只返回第一个索引。我不确定为什么它不遍历整个数组。有人可以给我一些帮助吗?

最佳答案

您的代码将在 for 循环的第一次迭代后返回,这就是您只看到第一个索引的原因。

也就是说,formatter 是一个应用于每个数据点的回调,因此您不需要遍历测试值。你应该尝试这样的事情:

chartData.plotOptions.series.datalabels.formatter = function() {
    return formatNumber(this.y);
}

引用formatter documentation可供使用的数据。

关于Javascript Highcharts : series datalabel formatter function to loop data not formatting all data form the array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31014969/

相关文章:

javascript - 随机颜色 jquery 框

javascript - 如何防止表单上出现垃圾邮件

c++ - pthread 窗口崩溃 C++

r - 如何使用 for 循环创建向量

php - 如何将 if/else if 转换为循环

javascript - 在 Owl Carousel 2 中加载动态内容

javascript - IE 中具有不同配置文件的多个 CKEDITOR 实例损坏

c - 从函数返回二维数组

Javascript - 如何从数组中获取非零值?

JAVA FileOutputStream 覆盖最后一个字符