Для создания фиктивной таблицы рекордов используется следующее, если в локальном хранилище не существует localscores:
if (localStorage.getItem("localScores") === null) {
highscores = [
{user: "Player 1", score: 100},
{user: "Player 2", score: 90},
{user: "Player 3", score: 80},
{user: "Player 4", score: 70},
{user: "Player 5", score: 60},
{user: "Player 6", score: 50},
{user: "Player 7", score: 40},
{user: "Player 8", score: 30},
{user: "Player 9", score: 20},
{user: "Player 10", score: 10}
];
localStorage['localScores']=JSON.stringify(highscores);
console.log("doesn't exist")
}
else{
highscores = JSON.parse(localStorage['localScores']);
console.log("exists")
}
Я всегда хочу сохранить 10 баллов, поэтому у меня есть это, чтобы добавить балл, где имя пользователя и общее количество - введенное имя и достигнутый балл:
highscores.push({user: username, score: total});
highscores.sort(function(a,b){ return b.score - a.score});
delete highscores[10];
localStorage['localScores']=JSON.stringify(highscores);
console.log(highscores);
Все хорошо, пока я не перезагружаю игру и не запускается первая функция, кажется, что она добавляет нулевое значение в массив рекордов. Так что, если я добавлю 5 дополнительных оценок, у меня будет 3 нулевых значения в массиве?
[Объект, Объект, Объект, Объект, Объект, Объект, Объект, Объект, Объект, Объект, Объект, ноль, ноль, ноль, ноль, ноль]
Это наводит меня на мысль, что либо строка, где я оцениваю, существует ли локальная оценка, неверна
(localStorage.getItem ("localScores") === null)
Или где я удаляю 11-й элемент в массиве неправильно
удалить рекорды [10];
Или есть еще одна проблема, которую я не вижу, если кто-нибудь знает, что происходит, я очень признателен за помощь.