2016-07-08 6 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

관련 문제