0

我制作了一个小型 sumon 数学游戏,在其中创建了 9 个列表项,每个列表项上都有不同的数字,并且每次页面重新加载时值都会发生变化(随机值每时每刻出现)。

用户必须点击列表项才能实现目标,例如假设实现目标是 7,那么用户将点击 5 和 2 或跳过以实现 7。

现在我想做的是假设当我实现目标时我想将它保存在我的本地存储中,并且下次当用户重新启动它并实现我也想存储在本地存储中的新值时,我的意思是存储每次用户达到目标时,本地存储中的数组格式的数据。

这是 data_stack 数组,它将值相加并将其存储到当前值中,所以我想每次都将这个 currentval 推送到数组中。请在这里帮助我

var currentval =  eval(data_stack.join('+'));
console.log(currentval);
4

1 回答 1

1

键/值本地存储(又名Web 存储)只接受字符串。但是,您可以对数组进行 JSON 编码并存储 JSON,因此当您检索它时,只需将其解码回数组即可。

将数组存储为 JSON:

// data_stack is an array
// store as JSON
localStorage.setItem('data_stack', JSON.stringify(data_stack));

检索 JSON 并对其进行解码:

var raw = localStorage.getItem('data_stack');
if(raw !== null) {
    var data_stack = JSON.parse(raw);
    // now you can push to data_stack or whatever
    data_stack.push('xyz');
}
于 2013-07-08T09:55:36.410 回答