グラフィックで血圧を表現していますが、収縮期と拡張期の両方とグラフィックを表現したいと思います。通常、これらのグラフィックは次のルールに従って一緒に表示されます。
90収縮期圧は拡張期60と同じレベルである必要があります140収縮期圧は拡張期90と同じレベルである必要があります
だから私はそれが人ベースで設定されている最大値と最小値のせいであると思ったので、私はその問題を解決するためにこれを開発しました:
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を超えている場合でも、80以下の値を返します。
しかし、それは機能しません。最初のセットと一致しますが、失敗します。
これを行う簡単な方法はありますか?