gpt4 book ai didi

javascript - 为什么 -Infinity 就像比较数字以返回最大值的基础?

转载 作者:行者123 更新时间:2023-11-30 14:04:17 25 4
gpt4 key购买 nike

在这段代码中,我似乎无法理解为什么 -Infinity 表现得像一个基数,所以当与它进行比较时,它会从数字数组中返回最大的数字。

function max(...numbers) {
let result = -Infinity;
for (let number of numbers) {
if (number > result) result = number;
}
return result;
}

最佳答案

一开始这很令人困惑,在您的脑海中,解决方案可能听起来像这样:

 let result = 0;

问题在于,当我们想要找到数组的最大值时,我们需要将每个元素相互比较。我们将 MAXIMUM 设置为 -INFINITY 更像是一种“习惯”。这仅仅意味着到目前为止最大的元素是我们可以表达的最小可能数字。是否有意义?我们简单地假设我们将找到的最大数字是-Infinity。然后我们将数组中的元素与这个基数(在我们的例子中是 -Infinity)进行比较,如果我们是假的(并且可能是),那么我们将 -Infinity 替换为下一个大于我们当前值的数字。我们对整个数字范围都这样做,这就是我们找到最大元素的方式。

您可以选择多个元素作为起点,但永远不要选择您自己输入的数字(只有在练习要求时才应该这样做)。例如,如果您选择:

let result = 0;

那么你可能有问题了。也许数字都是负数,例如 [-3,-13,-5,13,​​-99] 但您已经将最大数字设置为 0,因此每次比较都是错误且无用的。

因此,请记住这是一个很好的做法,在这种情况下,将基值设置为 -Infinity,或者如果您想采用另一种方法,则将基值设置为数组中的第一个元素。

关于javascript - 为什么 -Infinity 就像比较数字以返回最大值的基础?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55748402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com