gpt4 book ai didi

javascript - 我怎样才能(正确地)求和并计算百分比?

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

我正在尝试对数组中的对象值求和,然后计算每个值相对于总数的百分比。

这里是数组:

[
{
"ratiototale": [
[
{
"0": "0.4-0.5",
"1": 294
},
{
"0": "0.6-0.7",
"1": 2228
}
]
]
}
]

通过此,我仅获得第二个对象的正确百分比。

var getData = function () {
$.ajax({
url: 'http://localhost:3000/ratio/grouped',
success: function (data) {
console.log(data[0].ratiototale[0]);

let somma = 0;
for (var key in data[0].ratiototale[0]) {
myChart.data.labels.push(data[0].ratiototale[0][key][0]);
//myChart.data.datasets[0].data.push(data[0].ratiototale[0][key][1]);
var relativo = data[0].ratiototale[0][key][1];
somma += relativo;
var relative = (relativo*100/somma);
myChart.data.datasets[0].data.push(relative)
//console.log(relative)
}
console.log(data[0].ratiototale[0][key]);
//console.log(somma)
console.log(relativo)


// re-render the chart
myChart.update();
}
});
};

我得到的总和是正确的。

建议?

提前致谢

最佳答案

在循环元素计算百分比之前,您需要计算总和。您可以使用 Array.reduce 来执行此操作喜欢 -

let somma = data[0].ratiototale[0].reduce((accumulator,currentVal)=> accumulator + currentVal["1"], 0);

然后循环计算百分比,例如 -

var data = [
{
"ratiototale": [
[
{
"0": "0.4-0.5",
"1": 294
},
{
"0": "0.6-0.7",
"1": 2228
}
]
]
}
]

let somma = data[0].ratiototale[0].reduce((accumulator,currentVal)=> accumulator + currentVal["1"], 0);

for (var key in data[0].ratiototale[0]) {
//myChart.data.datasets[0].data.push(data[0].ratiototale[0][key][1]);
var relativo = data[0].ratiototale[0][key][1];
console.log(relativo);
var relative = (relativo*100/somma);
console.log(relative);
}

因此,您的整体代码可能如下所示 -

var getData = function () {
$.ajax({
url: 'http://localhost:3000/ratio/grouped',
success: function (data) {
console.log(data[0].ratiototale[0]);

let somma = data[0].ratiototale[0].reduce((accumulator,currentVal)=> accumulator + currentVal["1"], 0);
for (var key in data[0].ratiototale[0]) {
myChart.data.labels.push(data[0].ratiototale[0][key][0]);
//myChart.data.datasets[0].data.push(data[0].ratiototale[0][key][1]);
var relativo = data[0].ratiototale[0][key][1];
var relative = (relativo*100/somma);
myChart.data.datasets[0].data.push(relative)
//console.log(relative)
}
// re-render the chart
myChart.update();
}
});
};

关于javascript - 我怎样才能(正确地)求和并计算百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58486313/

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