gpt4 book ai didi

javascript - 如何用 D3 对数组求和?

转载 作者:行者123 更新时间:2023-11-28 13:02:00 29 4
gpt4 key购买 nike

我正在努力对数组求和。我没有任何错误,所以我不知道如何让它工作。

传递给函数的数据如下所示:

{Region:'' ,freq:{yesVote:0, noVote:0}}

我尝试这样总结:

    // compute pie slice angles
var pie = d3.pie().sort(null).value(function (d) {
var yesTotal;
var noTotal;
console.log(d);

yesTotal = d3.sum(d, function(v){
console.log(v.freq);
return v.freq.yesVote;
});

noTotal = d3.sum(d, function(v){
return v.freq.noVote;
});

console.log(yesTotal);
console.log(noTotal);

return [yesTotal,noTotal];
});

Sum 函数返回 0 并且 sum 函数内的 log 函数没有出现在控制台中(首先正确地记录打印数据),所以我认为传递给 sum 函数的数据有问题。你能解释一下我哪里出错了吗?

编辑

打印数据:

enter image description here

最佳答案

如果这是 console.log(d) 生成的内容:

{Region:'' ,freq:{yesVote:0, noVote:0}}

那么是的,您没有传递正确的数据。您仅传递具有单个值集的对象。 d3.sum() 应该对完整的数据数组进行操作。示例:

var data = [
{Region: 'A' ,freq: {yesVote:1, noVote:10}},
{Region: 'B' ,freq: {yesVote:2, noVote:11}},
{Region: 'C' ,freq: {yesVote:3, noVote:12}}
];

yesTotal = d3.sum(data, function(d) {
return d.freq.yesVote;
});

noTotal = d3.sum(data, function(d) {
return d.freq.noVote;
});

console.log(yesTotal)
6
console.log(noTotal)
33

尝试将总和移出饼图值函数,因为在内部,d 只是整个数据集中的一行。

关于javascript - 如何用 D3 对数组求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49578898/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com