2017-12-17 19 views
1

자바 스크립트로 게임을 만들고 최고 점수 테이블에 5 개의 최고 점수를 표시하고 싶습니다. 마지막 화면에 도달하면 최신/최고 점수 만 표시됩니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?로컬 저장소의 최고 점수 - 자바 스크립트

let result = {userName: user, score: timeScore} 

let highscore = [] 

highscore.push(result) 

highscore.sort(function (a, b) { 
return (a.timeScore - b.timeScore) 
}) 

let hsTable = document.getElementById('highscores') 

window.localStorage.setItem('highscore', JSON.stringify(highscore)) 

let retrievedScores = JSON.parse(window.localStorage.getItem('highscore')) 


for (let i = 0; i < 5; i++) { 
    hsTable.innerHTML += '<tr><td>' + retrievedScores[i].userName + '</td><td>' + retrievedScores[i].score + '</td></tr>' 
    } 
+1

정렬 기능이 될 수 있습니다 : 필드는 timeScore가 아닌 score라고합니다. highscore.sort (function (a, b) { return (a.score-b.score) })' – Oliver

+0

내가 누락되었거나 배열 하이 스코어에 하나의 레코드 만 추가하고 있습니까? –

답변

2

다른 모든 점수보다 최신 점수를 저장합니다. 이전 점수를 얻고, 점수를 매겨서 5 번째로 높은 점수를 얻고 저장하십시오 :