根据另一个数字的百分比从范围中选择一个数字

时间:2019-07-26 12:03:56

标签: javascript math

我想在两个数字之间选择一个数字,具体取决于输入的百分比。可以说范围在40-60之间。输入范围在1到10之间。如果输入值为10,则输出应为60。值= 1,输出=40。值= 5,输出= 50。

我首先试图弄清楚算法,如何开始

到目前为止,我已经使用了各种不同的公式。 通常,要将变量x缩放到[a,b]范围内,可以使用: 标准化=(ba)x-min(x)max(x)-min(x)+ a

https://stats.stackexchange.com/a/281165

1 个答案:

答案 0 :(得分:1)

因此,高阶函数可能在这里有用:

const func = (outMin, outMax, inMin, inMax) => 
             v => outMin + (outMax - outMin) * (v - inMin) / (inMax - inMin);

const boundFunc = func(40, 60, 1, 10);

const v1 = boundFunc(1); //40
const v2 = boundFunc(5); //48.8888....
const v3 = boundFunc(10); //60

console.log(v1, v2, v3);