gpt4 book ai didi

javascript - 从 JSON 数组中确定最高值

转载 作者:行者123 更新时间:2023-12-04 02:15:07 25 4
gpt4 key购买 nike

我正在尝试创建一个图表,该图表使用一组输入数据,然后将其转换为百分比,以便图表始终介于 -100 和 100 之间。

从 JSON 数据数组中,我想计算出最大数(通常为正值)和最小数(可能是负数,但在变量之前使用 - 变成正数)。

然后,我想计算出这两个“正”值中哪一个更高,并将其标记为最高值。

然后,我对于数据中的每个值,想要将 (timeline_value 除以 top_value) 乘以 100 并四舍五入。

对于这些值中的每一个,我需要将它们添加到单独的数组中。其中之一是计算矩形宽度 chartWidth ,计算矩形起始位置 chartStart (对于正值,它是 152,对于负值,它是 148 减去 chartWidth)。

对于 chartColor ,我希望它预定义收入始终为绿色(#28CE6D),费用始终为红色(#DF3456),利润始终为蓝色(#4DC7EC)。下面是驱动我需要从输入数据创建的图表的数据集:

var chartStart = [152, 84, 152]
var chartWidth = [100, 64, 36]
var chartNames = ["$7,110 Revenue", "$4,539 Expenses", "$2,571 Profit"]
var chartColor = ["#28CE6D", "#DF3456", "#4DC7EC"]

这是我试图从中创建上述集合的地方。谢谢

var input_data = {
timeline_balances: [
{
timeline_name: "Revenue",
timeline_value: 7110,
currency: "$"
},
{
timeline_name: "Expenses",
timeline_value: -4539,
currency: "$"
},
{
timeline_name: "Profit",
timeline_value: 2571,
currency: "$"
}
]
}

var max_value = input_data.timeline_balances.timeline_value.max_value
var min_value = -input_data.timeline_balances.timeline_value.min_value

if (max_value > min_value) {
top_value = max_value;
} else {
top_value = min_value;
}

最佳答案

您必须使用循环从对象中获取值,因为对象位于数组中

var input_data = {
timeline_balances: [{
timeline_name: "Revenue",
timeline_value: 7110,
currency: "$"
},
{
timeline_name: "Expenses",
timeline_value: -4539,
currency: "$"
},
{
timeline_name: "Profit",
timeline_value: 2571,
currency: "$"
}
]
}
var top_value=-10;
input_data.timeline_balances.forEach(e=>{
var max_value = e.timeline_value
var min_value = -1*e.timeline_value
if (max_value > min_value) {
if(max_value>top_value)
top_value = max_value;
} else {
if(min_value>top_value)
top_value = min_value;
}
})
console.log(top_value)

关于javascript - 从 JSON 数组中确定最高值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60163136/

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