我正在尝试编写一种算法来查找数组中的最小值和最大值,以及第二大值和第二小值。
我尝试了以下内容:
numbers = [2, 4, 9, 2, 0, 16, 24]
var largest = numbers[0];
var smallest = numbers[0];
for (var i = 1; i < numbers.length; i++) {
if (numbers[i] > largest) {
largest = numbers[i];
} else if (numbers[i] < smallest) {
smallest = numbers[i];
}
console.log(largest);
console.log(smallest);
}
这似乎不起作用,只是打印出数组……我做错了什么?
原文由 MadCatm2 发布,翻译遵循 CC BY-SA 4.0 许可协议
最简单的方法是对数组进行排序,然后返回前两个和最后两个元素。
使用
slice()
防止数组本身被排序: