有一个我已经阅读过stackoverflow的公式,有一件事我不清楚,更多关于下面的内容。 maxMax返回括号内的第二个值和第一个中的mathMin。
因此,让我们假设我正在进行计算,让我们说:
max = 2 * 10 min = 2 * 5
为了计算一行中的最大值和最小值,我必须使用这个公式:
Math.max(a, Math.min(x, b))
我遇到的问题是math.max看起来好像在这个公式中返回math.min。这不会破坏最大的原因,还是我错过了解某些事情?
例如,在严格需要为上述公式正确或不正确的事物定义最小值和最大值的应用程序中?
答案 0 :(得分:2)
Math.max(a, Math.min(x, b));
假设a
,b
和x
是数字,Math.min(x,b)
始终已解决,并且会返回数字。
将结果带到Math.max
方法,执行操作并返回更大的数字。
它也可以按两个步骤定义为
var min = Math.min(x, b);
Math.max(a, min);
阅读上面的例子应该更清晰,更容易理解。
上查看更多示例答案 1 :(得分:0)
函数Math.min
和Math.max
的命名有点含糊。
为了将值裁剪到给定范围,您可以像这样使用它们:
clippedValue = Math.max(lowerBound, Math.min(value, upperBound))
Math.max
接受任意数量的数字并返回最大的数字,而Math.min
也接受任意数量的数字并返回最小的数字。
当您寻找一种削减价值的方法时,这种行为可能与您的期望相矛盾。 Math.min
不会将值裁剪到最小范围,就像Math.max
不会将值裁剪到最大范围一样。
但是(偶然地?)如果您更改名称,它们会按预期工作。因此,具有两个参数的Math.max
就像假设的Math.clipMin
一样,具有两个参数的Math.min
就像假设的Math.clipMax
一样。