-4

配列で 2 番目に大きい数値を見つける方法

4

4 に答える 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
    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 に答える
1

リストを一度実行すると、あなたは最高の数を見つけるでしょう。これをもう一度繰り返すと、2 番目に高い数値が得られます。

于 2012-12-24T06:25:29.497 に答える
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 に答える