我有以下代码,它从数据库获取数据并使用 HTML 和 FusionCharts 库绘制图表。我只是在图形格式方面遇到了一些问题。我希望 yAxisMin 比 data
数组中的最小值低 10 个值,而 yAxisMax 值比该最小值高 10 个值。
function createJSON(name, data){
return(
{
"chart": {
"caption": String(name),
"subCaption": "15-Day Prices",
"xAxisName": "Day",
"yAxisName": "Price (USD)",
"anchorRadius": "1",
"showValues": "0",
"borderThickness": "3",
"yAxisMinValue": data.value.min() - 10,
"yAxisMaxValue": data.value.max() + 10,
"theme": "fint"
},
"data": data,
}
);
}
//I'm including this for context. This is the function that returns the data array
var getHistory = function(req,res,next){
var data = [];
History.findOne({"Symbol": String(req.params.sym)}, function(err, foundHistory){
if(foundHistory){
(foundHistory.Historical).forEach(function(day){
data.push({
"label": day.Date,
"value": day.Close
});
});
res.json(createJSON(foundHistory.Name, data));
next();
}
else{
next();
}
});
};
module.exports = getHistory;
其他一切都很好。我只需要两行代码的帮助:
"yAxisMinValue": data.value.min() - 10,
"yAxisMaxValue": data.value.max() + 10,
我该怎么做?这是我的尝试,但它无法编译。
最佳答案
这个怎么样?由于您的代码示例不完整,我无法自己测试。
function createJSON(name, data){
var min = Number.MAX_SAFE_INTEGER;
var max = Number.MIN_SAFE_INTEGER;
for(var i = 0; i < data.length; i++) {
if(data[i].value < min) min = data[i].value;
if(data[i].value > max) max = data[i].value;
}
...
"yAxisMinValue": min - 10,
"yAxisMaxValue": max + 10,
...
关于javascript - 在 JavaScript/HTML 中访问 JSON 数组中的最小值和最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43160396/