如何替换或交换阵列?

时间:2019-02-27 13:13:20

标签: javascript arrays

我正在将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

谢谢。

1 个答案:

答案 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 ) );