Не может увеличить значение localStorage
Я пытаюсь увеличивать значение localStorage каждый раз, когда условие в условии if верно, но кажется, что я не могу сделать это правильно. Перепробовал все возможное. Вот мой код, который выполняет проверку и увеличивает значение.
for(var j = 0; j < inputArray.length; j++){
for(var k = 0; k < this.probsSolved.length; k++){
if(inputArray[k] == this.probsSolved[j] ){
//increment the localStorage value here
**this.storage.set(probSolKey,parseInt(this.storage.get(probSolKey)) + 1);**
if(this.storage.get(probSolKey) >= totalProbToSolve){
this.storage.set(achkey,1);
this.triggerAchievements(id,name);
return;
}
}
}
}
Поэтому у меня есть плагин localStorage для движка ImpactJS, который я использую. Я пытаюсь увеличить probSolKey, который я передаю в своей функции в качестве параметра String. Всякий раз, когда условие выполняется, я стараюсь увеличиваться на 1. Я не знаю, как правильно это реализовать. Любой, кто поможет мне в этом, действительно оценит это!
Делая некоторую отладку я обнаружил это:
console.log(this.storage.get(probSolKey));
Бросает странное значение "NaN".
1 ответ
Когда вы сохранили значение свойства, которое вы пытаетесь увеличить, вы думали, что сохранили число, но на самом деле это не так.
Вы сохранили значение, которое было предложено быть числом, поэтому оно было преобразовано в единицу, но преобразование не удалось, поскольку значение не может быть проанализировано как число.
Это то, что означает NaN, а не число, то, что не может быть проанализировано как число.