我想做的一个功能是向localstorage上设置一个空数组,每次点击就push当前点击的数据到localstorage的数组中,但是localstorage不允许push,我试过深拷贝localstorage的数组出来再push到深拷贝的数组中,在设置localstorage的数组为深拷贝的数组,但是也没尝试出来,请大神支招
我想做的一个功能是向localstorage上设置一个空数组,每次点击就push当前点击的数据到localstorage的数组中,但是localstorage不允许push,我试过深拷贝localstorage的数组出来再push到深拷贝的数组中,在设置localstorage的数组为深拷贝的数组,但是也没尝试出来,请大神支招
很简单,存进去之前先json字符串化,取出来逆回来操作,就能得到正常的数组。
localStorage.setItem("arr", JSON.stringify(arr))
var arr = JSON.parse(localStorage.getItem("arr"))
arr.push(something)
localStorage.setItem("arr", JSON.stringify(arr))
数组存localstorage里会变成字符串,
想操作localStorage的变量就先取出来进行操作再存进去。
//设置
arr = [1];
localStorage.arr = arr
取出来再设置
//取出
getarr = localStorage.arr.split(',')
//操作
getarr.push(2)//["1", 2]
//再存
localStorage.arr = getarr//这时候localStorage.arr变为 "1,2"
亲,首先你要搞清楚localstorage到底是个什么东西,
localstorage作为HTML5新特性中的webStorage技术中的永久存储方法,我们通常也叫他本地存储和跨会话级存储。
他的用法并不需要给localstorage设置空数组,他本身有自己的存取数据的方法,如下:
localstorage["key"] = 'value' ;
希望可以帮到你啦~
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
localStorage只能存储String,要用Json对象转化下: