需要将数据存储在localstorage中的数组中吗?

时间:2013-07-08 09:49:03

标签: javascript jquery html5 local-storage

我已经制作了一个小型的数学游戏,我在每个列表项目上创建了9个不同数字的列表项,并且每次值都会随着页面重新加载而变化(随机值变为evreytime)。

用户必须点击listitems才能达到目标,例如假设达到目标为7,那么用户将点击5和2或watever来实现7.

现在我想要做的是假设当我实现目标时我想将它保存在我的本地存储中,并且下次当用户重新启动它并实现一个新值时,我也想存储在本地存储中所以我的观点是什么是每次用户实现目标时,以localstorage中的数组格式存储数据。

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

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

1 个答案:

答案 0 :(得分:1)

键/值本地存储(aka Web Storage)只接受字符串。但是,您可以对数组进行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');
}