有人可以向我解释这是如何运作的。在找到最高数字的方法中,每个数字都大于-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);
答案 0 :(得分:1)
使用控制台,当if
小于1
时,您可以看到最低Infinity
条件的条件只有一次。其他时候它总是返回false,因为所有其他数字都小于1
所以这里的逻辑是,如果数组中的数字低而不是max,则存储其他循环继续循环。
最高人数相同。
//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;