此问题在此处已有答案:
Sum array of arrays (matrix) vertically efficiently/elegantly(7个答案)
8天前关闭。
我还是个新手,需要一些帮助。
这里有我的变量chartdata作为起点:
var chartdata = {
labels: [
"Bar 1",
"Bar 2",
"Bar 3",
"Bar 4",
],
datasets: [
{
label: "Green data",
type: "bar",
data: [20, 30, 40, 20]
},
{
label: "Red data",
type: "bar",
data: [10, 30, 20, 10]
},
{
label: "Blue data",
type: "bar",
data: [20, 20, 20, 20]
},
因为我有一个堆叠的条形图,我想知道我如何求和“条1”的数据点,即20,10,20 = 50。
我第一次想到数组,它是这样的:
const array0 = chartdata.datasets[0].data;
console.log(array0.reduce((a, b) => a + b, 0));
...但它只能添加20 + 30 + 40 + 20,这是数据集[0]中的所有数据和类似的操作。这意味着我只能获得所有绿色数据点或其他数据点。而不是一个堆叠条形图的总和。
似乎不可能生成类似于chartdata.datasets[0 to 4].data[always 0]的内容;其是y轴上的总瓦尔“条1”值。
我试着用.map设置一些东西,但我自己真的做不到。
也许你们Maven可以给我一个解决方案,我可以直接运行。
先谢了。
1条答案
按热度按时间eoxn13cs1#
使用
Array#reduce
而不是chartdata.datasets
本身。