var arr = [6, 10, 9, 3, 8, 15, 11, 16, 14, 19, 1, 7, 2, 18, 17];
// 求最大值
var fMax = arr[0];
for (let i = 1; i < arr.length; i++) {
if (fMax < arr[i]) {
fMax = arr[i];
}
}
console.log("最大值为:" + fMax);
// 求次大值
var sMax = arr[0];
for (let i = 1; i < arr.length; i++) {
if (sMax < arr[i] && fMax > arr[i]) {
sMax = arr[i];
}
}
console.log("次大值为:" + sMax);
// 求第三大值
var tMax = arr[0];
for (let i = 1; i < arr.length; i++) {
if (tMax < arr[i] && sMax > arr[i]) {
tMax = arr[i];
}
}
console.log("第三大值为:" + tMax);
但是如果数组中有两个相同的最大值,这个就行不通了呀
var arr = [6, 10, 9, 3, 8, 15, 11, 16, 18, 19, 1, 7, 2, 18, 18];
arr.sort((a, b) => {return b - a;});
console.log(arr[0], arr[1], arr[2])
找完最大值后再看看有几个相等的,然后再找剩下的
排完序,取数组前三位。可以做个判断前三位有相等的就往后取