Javascript 向localstorage添加值,而不是替换它
我希望将Javascript 向localstorage添加值,而不是替换它,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我希望将newUsername中的值添加到localStoragesetUsernamesArray,而在我的代码中,它将替换整个值 代码 $('signUpButton')。单击(函数(){ var newUsername=$('#usernameSignInBox').val(); signedupsernames.push(newUsername); setItem('setUsernamesArray',signedUpUsernames); }); 本地存储始终将值存储为字符串,因此将
newUsername
中的值添加到localStorage
setUsernamesArray,而在我的代码中,它将替换整个值
代码
$('signUpButton')。单击(函数(){
var newUsername=$('#usernameSignInBox').val();
signedupsernames.push(newUsername);
setItem('setUsernamesArray',signedUpUsernames);
});
本地存储
始终将值存储为字符串
,因此将数组
字符串化并存储
localStorage.setItem('setUsernamesArray', JSON.stringify(signedUpUsernames));
在阅读之前,先解析它
var arrayFrmStorage = JSON.parse(localStorage.getItem("setUsernamesArray"))
如果要添加到数组中,必须意识到localStorage中的值不是数组,而是字符串。如果希望该字符串表示数组,并且希望更新该数组,则必须执行以下操作:
- 读取字符串,
localStorage.getItem('setUsernamesArray')
- 然后将其转换为带有
JSON.parse的数组
- 然后推到阵列上
- 然后使用
localStorage.setItem('setUsernamesArray',JSON.stringify(array))
localStorage。setItem
将替换localStorage中的密钥值
将localStorage视为一个变量。当你这样做的时候
var a=“你好”;
a=“世界”
将替换a
的值。为了避免这种情况,我们使用+=
var a=“你好”;
a+=“世界”
类似地,您必须创建另一个具有更新值的对象,并将其写入localStorage
下面是一个例子
功能设置值TOLS(键、道具、值){
var_local={};
if(localStorage.getItem(键))
_local=JSON.parse(localStorage.getItem(key));
_本地[prop]=值;
setItem(key,JSON.stringify(_local));
}