我刚刚开始使用JS。下面是我的代码:
score = {
name: name,
maxTurns: maxTurns,
lowestProbability: lowestProbability * 100 + '%',
totalTurns: totalTurns,
initialProbability: initialProbability,
totalSuccess: totalSuccess,
date: new Date().getTime()
}
console.log(localStorage.getItem('score'));
let localData = localStorage.getItem('score') + JSON.stringify(score);
localStorage.setItem("score", localData);
不幸是,它不太好用,我不知道为什么。
有时候我得到了我想要的:一行输入结果,有时我有大量的错误值的数据。有人能解释和帮助吗?
我试着用push把数据添加到旧的结果中,但是对字符串不起作用,然后我试着用+,但是也不总是起作用。
2条答案
按热度按时间hfsqlsce1#
据我所知,您将多次在本地存储中保存来自API的分数,并在需要时将其取回。出于演示目的,我使用字符串作为数据值。
您可以尝试以下代码:
您可以在此处查看演示:https://codepen.io/dreambold/pen/vYaBwjq?editors=1010
bmp9r5qi2#
基本上,您应该在检索项目之前对其进行设置。
因此,在
console.log
之前,应在localStorage
中设置分数:window.localStorage.setItem("score", JSON.stringify(score));
请注意,我使用了
window.localStorage
,以确保我正在使用localStorage
。之后,您可以从本地存储中获取该值,如果需要,也可以再次设置它。
希望这对你有帮助。