gpt4 book ai didi

javascript - 使用 JavaScript If...Else 语句查找数组中下一个最大的数字

转载 作者:行者123 更新时间:2023-12-03 02:56:09 26 4
gpt4 key购买 nike

您能解释一下下面代码中的“else if”语句如何返回数组中的第二大数字吗?

特别是“else if 语句”中没有 AND 运算符 (&&)。我的意思是例如:

else if (max2 < array[i] && max1 > array[i])

我发现人们在 stackOverflow 上使用这种方法,但他们没有给出任何详细的解释(“为什么它有效”):

var arr1 = [2, 3, 1, 6, 100, 49, 5, 7, 8, 9];

function getSecondMaxNumber(array) {
var max1 = 0;
var max2 = 0;
for (var i = 0; i <= array.length; i++) {
if (max1 < array[i]) {
max1 = array[i];
} else if (max2 < array[i]) {
max2 = array[i];
}
}
return max2;
}
console.log(getSecondMaxNumber(arr1));

更新

上面的方法是错误的,正如哈桑在下面评论的那样。

我决定使用:

var arr1 = [2, 3, 1, 6, 100, 49, 5, 7, 8, 9];


function getSecondMaxNumber(array) {
function sortNumbers(a, b) { //Compare numbers.
return a - b;
}
var arrSorted = array.sort(sortNumbers); //Set up sorting.
return arrSorted[arrSorted.length - 2]; //Choose the second largest number in an array.
}
console.log(getSecondMaxNumber(arr1)); //Show me that number.

最佳答案

您不需要 &&因为if条件已经消除了max1的可能性小于array[i] 。您无法访问else if没有if的条件第一次失败。

旁注,循环条件应该是 <而不是<= .

关于javascript - 使用 JavaScript If...Else 语句查找数组中下一个最大的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47609835/

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