Javascript 将字符串从本地存储转换回阵列
我可能有好几英里远,但谁能告诉我这是否可能Javascript 将字符串从本地存储转换回阵列,javascript,arrays,json,variables,local-storage,Javascript,Arrays,Json,Variables,Local Storage,我可能有好几英里远,但谁能告诉我这是否可能 function myFunction(){ var myArray = (localStorage.getItem("storedArray")); myArray = jQuery.makeArray( myArray ); myArray.push(['someone@myemail','15','myUsername']); localStorage.setItem("storedArray", JSON.stringify(gr
function myFunction(){
var myArray = (localStorage.getItem("storedArray"));
myArray = jQuery.makeArray( myArray );
myArray.push(['someone@myemail','15','myUsername']);
localStorage.setItem("storedArray", JSON.stringify(grabArray));
localStorage.removeItem("storedArray");
}
每次运行此函数时,我都希望从本地存储获取一个数组,将值推送到该数组,然后将其存储回,就像更新它一样。其思想是,一旦我的应用程序中发生事件,该项将被清除,以便再次开始日志记录
当我从本地存储中获取项目时,我尝试将其转换回阵列,但我认为这不是执行此操作的方法,因为它不会返回任何内容。JSON可以做什么
谢谢。如果您使用
JSON.stringify()
将对象转换为JSON字符串表示,那么您可以使用将JSON表示转换回对象
function myFunction() {
var storedArray = JSON.parse(localStorage.getItem("storedArray"));
if (storedArray === null) {
storedArray = [];
}
var obj = {
email: "test@email.com",
age: 15,
name: "username"
};
storedArray.push(obj);
localStorage.setItem("storedArray", JSON.stringify(storedArray));
}
将更新的storedArray设置为本地存储中的同一密钥将覆盖旧值。尝试此代码,您将看到更新的数组
信息:本地存储数据存储为键值
Trott是对的,您没有解析您保存的json
stringify将JSON对象/数组转换为字符串。为了获取相同的数据,您必须对其进行分析。您是否可以编辑答案来说明这是如何工作的,我没有做js很长时间。如果重复的键值对被推送到本地存储,如何处理?