我在图形上表示血压,我想同时表示收缩压和舒张压以及图形。通常,这些图形按照以下规则一起显示:
90 收缩压应与 60 舒张压处于同一水平 140 收缩压应与 90 舒张压处于同一水平
所以我认为这是因为 max 和 mins 是以人为基础的,所以我开发了这个来尝试解决这个问题:
function getObjectSystolicDiastolic(){
var min_systolic = getMinValue(80,person.data,10),
max_systolic = getMaxValue(150,person.data,10),
min_diastolic = getMinValue(50,person.data,10),
max_diastolic = getMaxValue(120,person.data,10),
min_systolic_eq = min_diastolic*(140-90)/(90-60) + 90 - 60*(140-90)/(90-60),
max_systolic_eq = max_diastolic*(140-90)/(90-60) + 90 - 60*(140-90)/(90-60);
// Getting the largest range
var min_total = min_systolic < min_systolic_eq ? min_systolic : min_systolic_eq;
var max_total = max_systolic < max_systolic_eq ? max_systolic : max_systolic_eq;
return {
min_systolic : min_total,
max_systolic : max_total,
min_diastolic : (min_total - 90 + 60*(140-90)/(90-60))*(90-60)/(140-90),
max_diastolic : (max_total - 90 + 60*(140-90)/(90-60))*(90-60)/(140-90)
};
}
那,基本上首先从人员数据或提供的值中获取最小值和最大值。例如getMinValue(80,person.data,10)
,即使所有值都大于该值,也会返回一个不大于 80 的值。
但它不起作用。它与第一组匹配,但随后失败。
有没有更简单的方法来做到这一点?