添加数组的各个值

时间:2019-04-23 14:51:40

标签: javascript arrays

我想将array的各个值相加(将所有数组的第一个值放在一起,将所有数组的第二个值放在一起,依此类推...)

我知道这个问题被问过很多次,但是我仍然找不到适合自己的答案

我正在尝试,但是它会将数组1中的所有值加起来,依此类推

        var dataset = data.datasets[tooltipItem.datasetIndex];

        //calculate the total of this data set
        var total= dataset.data.reduce(function(previousValue, currentValue, currentIndex, array) {
          return previousValue + currentValue;
        });
        //get the current items value
        var currentValue = dataset.data[tooltipItem.index];
         console.log(currentValue)

        var percentage =  (((currentValue/total) * 100)).toFixed(2);
        console.log(total)

        return percentage + "%";
      }

2 个答案:

答案 0 :(得分:0)

您可以映射所需的百分比值。

var dataset = [100, 200, 300],
    total = dataset.reduce(function(a, b) {
        return a + b;
    }),
    result = dataset.map(function (value) {
        return (value * 100 / total).toFixed(2) + ' %';
    });

console.log(result);

答案 1 :(得分:0)

(正如其他人在评论中指出的那样)并不能100%清楚您的期望,但是您已经说了

  

我想将array的各个值相加(将所有数组的第一个值放在一起,将所有数组的第二个值放在一起,依此类推...)

这是一个片段,它将采用长度为n的{​​{1}}个数组,并返回一个长度为m的数组,其中第m个元素是所有i个输入数组中第i个元素的总和。

n