我正在将myArray = [{a: 1, b:2}, {a:3, c:4}]
保存在localStorage中,其中包含
JSON.stringify(myArray)
,并用JSON.parse(localStorage.getItem('nameInLS'));
进行解析
并将其存储在名为localData
的变量中,如果使用了console.log
,它将返回以下内容:
[{a: 1, b:2}, {a:3, c4}]
我的代码可与myArray
一起使用,我的问题是,如何用myArray
替换空的localData
(重新加载新网站时为空)?
如果我可以交换两个数组的内容,它也可以工作。
目标是在页面加载时,如果localStorage不为空,则将内容加载到myArray
中,然后调用一个函数,该函数将构建一个包含myArray
内容的html表
我尝试过类似的奇怪事情:
myArray.push(localData) //worked but looked like this [[...]]
myArray = localData
localData = myArray //both didn't work
谢谢。
答案 0 :(得分:1)
最初从localStorage加载东西怎么了?
如果尝试保存对象,则可能无法正常工作。您需要将其转换为JSON字符串,如下所示:
const LOCAL_STORAGE_KEY = 'my-array';
// initial load
const rawValue = localStorage.getItem( LOCAL_STORAGE_KEY );
let myArray = rawValue ? JSON.parse( rawValue ) : [];
// do stuff
myArray.push( 'test' );
// save it back again
localStorage.setItem( LOCAL_STORAGE_KEY, JSON.stringify( myArray ) );