如何找到数组中第二大的数字
问问题
8082 次
4 回答
3
function getSecondHighest(arrCheck){
var first=0,second=0;
for(var i=0;i<arrCheck.length;i++){
if(arrCheck[i] > first){
second = first;
first = arrCheck[i];
}
else if(arrCheck[i]>second && arrCheck[i]<first){
second = arrCheck[i];
}
}
return second;
}
于 2012-12-24T06:28:59.320 回答
1
如果您遍历列表一次;你会发现最高的数字。现在再重复一次,您将获得第二高的数字。
于 2012-12-24T06:25:29.497 回答
1
var big = a[0];
var secondLargest = null;
for (var i = 0; i < a.length; i++) {
if (a[i] > big) {
secondLargest = big;
big = a[i];
} else if (a[i] > secondLargest) {
secondLargest = a[i];
}
}
return secondLargest;
}
于 2012-12-24T06:36:25.240 回答
0
看到这个:
var array = [267, 306, 108, 50, 909, 200];
var newCopy = [0];
for (i = 0; i < array.length; i++) {
newCopy[i] = array[i];
}
var largest = Math.max.apply(Math, newCopy);
newCopy.splice(newCopy.indexOf(largest), 1);
largest = Math.max.apply(Math, newCopy);
alert(largest);
于 2012-12-24T06:35:11.523 回答