javascript - 如何向localStorage上的数组push数据
问题描述
我想做的一个功能是向localstorage上设置一个空数组,每次点击就push当前点击的数据到localstorage的数组中,但是localstorage不允许push,我试过深拷贝localstorage的数组出来再push到深拷贝的数组中,在设置localstorage的数组为深拷贝的数组,但是也没尝试出来,请大神支招
问题解答
回答1:localStorage只能存储String,要用Json对象转化下:
var arrayObject = [];arrayObject.push(’a’,’b’,’c’);localStorage.setItem('array',JSON.stringify(arrayObject));var arrayObjectLocal = JSON.parse(localStorage.getItem('array'));arrayObjectLocal.push(’d’,’e’,’f’);for (i = 0; i < arrayObjectLocal.length; i++) { console.log(arrayObjectLocal[i]);}回答2:
很简单,存进去之前先json字符串化,取出来逆回来操作,就能得到正常的数组。
localStorage.setItem('arr', JSON.stringify(arr))var arr = JSON.parse(localStorage.getItem('arr'))arr.push(something)localStorage.setItem('arr', JSON.stringify(arr))回答3:
很奇怪的思维,为啥不往数组里push,在localStorage.setItem('arr',arr)呢,而是在先设置localStorage,在进行操作呢
回答4:数组存localstorage里会变成字符串,想操作localStorage的变量就先取出来进行操作再存进去。
//设置arr = [1];localStorage.arr = arr
取出来再设置
//取出getarr = localStorage.arr.split(’,’)//操作getarr.push(2)//['1', 2]//再存localStorage.arr = getarr//这时候localStorage.arr变为 '1,2'回答5:
亲,首先你要搞清楚localstorage到底是个什么东西,localstorage作为HTML5新特性中的webStorage技术中的永久存储方法,我们通常也叫他本地存储和跨会话级存储。他的用法并不需要给localstorage设置空数组,他本身有自己的存取数据的方法,如下:
localstorage['key'] = ’value’ ;
希望可以帮到你啦~
相关文章:
1. dockerfile - 我用docker build的时候出现下边问题 麻烦帮我看一下2. dockerfile - 为什么docker容器启动不了?3. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?4. javascript - JS用ajax爬取百度外卖店家信息5. 我在centos容器里安装docker,也就是在容器里安装容器,报错了?6. angular.js使用$resource服务把数据存入mongodb的问题。7. java - 为什么第一个线程已经释放了锁,第二个线程却不行?8. 在应用配置文件 app.php 中找不到’route_check_cache’配置项9. docker - 如何修改运行中容器的配置10. javascript - 编程,算法的问题

网公网安备