Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向localstorage添加值,而不是替换它_Javascript_Jquery_Html_Css - Fatal编程技术网

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));
}