Javascript - 使用循环和数组查找最大值和最小值,-Infinity / Infinity

时间:2015-10-09 16:55:33

标签: javascript arrays loops numbers

有人可以向我解释这是如何运作的。在找到最高数字的方法中,每个数字都大于-Infinity。为什么需要最高的数字?与最小数字查找器相同,它如何选择最小数字,所有数字都小于无穷大。

//find highest number

var Numbers = [1, 2, 101, 45, 55, 1443];
var l = Numbers.length;
var max = -Infinity;
var i;
for (i = 0; l > i; i++) {

    if (Numbers[i] > max) {

        max = Numbers[i];

    }

}

console.info(max);

//find lowest number

var Numbers = [1, 2, 101, 45, 55, 1443];
var l = Numbers.length;
var max = Infinity;
var i;
for (i = 0; l > i; i++) {

    if (Numbers[i] < max) {

        max = Numbers[i];

    }

}

console.info(max);

1 个答案:

答案 0 :(得分:1)

使用控制台,当if小于1时,您可以看到最低Infinity条件的条件只有一次。其他时候它总是返回false,因为所有其他数字都小于1所以这里的逻辑是,如果数组中的数字而不是max,则存储其他循环继续循环。

最高人数相同。

&#13;
&#13;
//find highest number
var Numbers = [1, 2, 101, 45, 55, 1443];
var l = Numbers.length;
var max = -Infinity;
var i;
for (i = 0; l > i; i++) {
  if (Numbers[i] > max) {
    console.log(i + ' max number' + Numbers[i]);
    max = Numbers[i];
  }
}
console.info(max);

//find lowest number
var Numbers = [1, 2, 101, 45, 55, 1443];
var l = Numbers.length;
var max = Infinity;
var i;
for (i = 0; l > i; i++) {
  if (Numbers[i] < max) {
    console.log(i + ' lowest number' + Numbers[i]);
    max = Numbers[i];
  }
}
console.info(max);
&#13;
&#13;
&#13;