我可以使用无穷大和-无穷大作为最大和最小变量的初始值吗



我认为将最大值初始化为-Infinity,但事实并非如此。

如果无穷大被认为是一个数字类型,为什么我不能在比较中使用它?

var windowStart =0, sum =0, max = -Infinity
for(windowEnd=0;windowEnd<k-1;windowEnd++)
{
sum += arr[windowStart]
if(windowEnd>k-1)
{
if(sum > max)
max = sum
sum -= arr[windowStart]
windowStart += 1
}
}
return max;

多亏了社区,我注意到我在发布问题时仓促行事,没有进行适当的调试。感谢大家的快速回答。

您可以随心所欲地使用Infinity:

Math.min(Infinity, 10)
// => 10
Infinity < 10
// => false

即使在原生Math.min和Math.max函数实现中,它看起来确实已经被用作默认的最小值和最大值

Math.min(); // Infinity
Math.max(); // -Infinity