2016-07-08 4 views
1

以下のコードは配列から最も高い数値を返します。私はどのように配列から上位3の数字を取得し、それを把握することができていない把握しようとしています。配列から最高3つの数字を取得しますか?

また、対応するジョブをスコアとともにリストする方法もわかりました。現時点では、「あなたの最高得点は」と表示されているH1は数字のみを表示し、ジョブ(または最高の数字の場合はVAR)を通過しません。

これを達成する方法についてのご意見はありますか?

ありがとうございます!

HTML:最低から最高、その後、スライスに

<div> 
    <h3> Job 95- <span id="score95"> </span> </h3> 
    <h3> Job 96- <span id="score96"> </span> </h3> 
    <h3> Job 97- <span id="score97"> </span> </h3> 
    <h3> Job 98- <span id="score98"> </span> </h3> 
    <h3> Job 99- <span id="score99"> </span> </h3> 
    <h3> Job 100- <span id="score100"> </span> </h3> 
    <h1> Your highest score was: <span id="highest"></span></h1> 
</div> 

JS

var job95 = 100; 
var job96 = 100; 
var job97 = 100; 
var job98 = 100; 
var job99 = 100; 
var job100 = 100; 

$("#no15").click(function() { 
    console.log('clicked15') 
    job95 += 10; 
    job96 += 20; 
    job97 += 30; 
    job98 += 40; 
    job99 += 50; 
    job100 += 60; 
    $('#score95').html(job95); 
    $('#score96').html(job96); 
    $('#score97').html(job97); 
    $('#score98').html(job98); 
    $('#score99').html(job99); 
    $('#score100').html(job100); 

    var numArray = [job95,job96, job97, job98, job99,job100] 
    $('#highest').html(Math.max.apply(Math,numArray)); 
}); 
+1

注文、そしてトップ3を取りますか? – tomliversidge

+0

こんにちは@tomliversidge。それをどうするかわからない。対応するジョブ名を取得する方法についての任意の考えですか?助けてくれてありがとう! – AndrewLeonardi

+0

@AndrewLeonardi JSには組み込みの 'sort'関数があります。何を知る必要がありますか? – Barmar

答えて

6

ソート。例:スコアによって

var arr = [1, 3, 2, 1, 5, 6, 3]; 
 
//Sort the array from lowest to highest 
 
//Thanks to Charlietfl, I forgot to sort it numerically 
 
arr.sort(function(a, b) { 
 
    return a - b; 
 
}); 
 
//Get the highest 3 
 
var top3Arr = arr.slice(-3); 
 
console.log(top3Arr) 
 

 

 
//This is an array, so if you want each number individually just access the array 
 

 
var highest = top3Arr[2]; 
 
var secondHighest = top3Arr[1]; 
 
var thirdHighest = top3Arr[0];

+0

数値ソートが必要 – charlietfl

+0

@charlietflどういう意味ですか? –

+1

その配列に '11'または' 22'を入れて、どのような並べ替えが返るのかを調べることを意味します。 – charlietfl

関連する問題