Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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 是否可以将重复标签(及其数据)合并到图表Js中的一列中?_Javascript_Arrays_Charts_Chart.js - Fatal编程技术网

Javascript 是否可以将重复标签(及其数据)合并到图表Js中的一列中?

Javascript 是否可以将重复标签(及其数据)合并到图表Js中的一列中?,javascript,arrays,charts,chart.js,Javascript,Arrays,Charts,Chart.js,例如,如果标签使用数组['05/Feb/2019'、'05/Feb/2019'、'05/Feb/2019'、'01/Feb/2019'],而相应值使用数组['2'、'5'、'7'、'4'] 是否可以只显示一列所有元素“2019年2月5日”,将其值汇总在此列中 图表JS的代码 您可以使用reduce进行此操作。愿这对你有帮助 var label = ['05/Feb/2019', '05/Feb/2019', '05/Feb/2019', '01/Feb/2019']; var valu

例如,如果标签使用数组['05/Feb/2019'、'05/Feb/2019'、'05/Feb/2019'、'01/Feb/2019'],而相应值使用数组['2'、'5'、'7'、'4']

是否可以只显示一列所有元素“2019年2月5日”,将其值汇总在此列中

图表JS的代码
您可以使用reduce进行此操作。愿这对你有帮助

 var label = ['05/Feb/2019', '05/Feb/2019', '05/Feb/2019', '01/Feb/2019'];
    var value = ['2', '5', '7', '4'];

    var obj = label.reduce(function(a, b, i) {
        if(!a.hasOwnProperty(b)) {
            a[b] = 0;
        }
        console.log(a);
        a[b] += Number(value[i]);
         return a;
    },{});

    var lab = Object.keys(obj);
    var val = Object.values(obj);

这成功地完成了任务,但现在图表不再呈现。我尝试过使用.map()和.split(),但它们都没有帮助渲染。顺便说一句,代码中的标签是我的列(有时称为图表的图例)。该值是代码中的列_b。我发现了问题:数组末尾有一个NaN:6.35,9.07,78.9312420.514198.67,0.91,34.02,13.15,59.42302.061480.94,62.0999999994111.52303.88,90.71000000000001116.99999999999999999,84.7800000000002130.519999999999999998253.54000000000002189.45,1.35,3.62,22.2099999999999997215.45,1.8738.94,6.35,0.36,2.72,5!!我必须使用“.filter(Boolean)”删除NaN。之后,我将“column_b”的“const”改为“var”。问题解决了。谢谢你,索拉布!只是注意到,在某些情况下,第一个标签和值没有与其他标签和值一起考虑,因此,例如,我最终得到以下输出:数组(标签)['05/Feb/2019'、'05/Feb/2019'、'01/Feb/2019']和数组(值)['2'、'12'、'4']作为各自的值。你知道为什么会这样吗?
 var label = ['05/Feb/2019', '05/Feb/2019', '05/Feb/2019', '01/Feb/2019'];
    var value = ['2', '5', '7', '4'];

    var obj = label.reduce(function(a, b, i) {
        if(!a.hasOwnProperty(b)) {
            a[b] = 0;
        }
        console.log(a);
        a[b] += Number(value[i]);
         return a;
    },{});

    var lab = Object.keys(obj);
    var val = Object.values(obj);