一个问题。再次。这是代码:

if(localStorage.getItem("temporaryArray")){
    var temporaryArray = JSON.parse(localStorage.getItem("temporaryArray"));
}else{
    var temporaryArray = [];
}


因此,基本上它的作用是,当加载新页面时,我不想重置该数组,因为稍后在代码中,我会在localStorage中为该数组分配一些内容。因此,我想说的是,如果您可以获取此项目,则在再次加载代码时,将此变量分配给localStorage项目。否则,只需将其设置为空数组即可。但是这是我得到的错误,因为该数组当前为空(我认为这就是原因):

Uncaught SyntaxError: Unexpected token o in JSON at position 1
    at JSON.parse (<anonymous>)
    at main.js:61


任何帮助将不胜感激。

最佳答案

如果方法调用失败,通常有助于查看该函数的输入是什么。我建议在console.log(localStorage.getItem("temporaryArray"))调用之前先执行JSON.parse(),以查看问题所在。

我想问题的根源是,在某个时候您正在调用localStorage.setItem("temporaryArray",value)并忘记对值执行JSON.stringify()。

09-18 11:26