[英]How to store an Object containing Array-Objects in local Storage By JSON
[英]How to loop on local storage objects in array or convert data in JSON
我正在构建 ATM 项目并将用户数据存储在本地存储中,但之后我收集数据并在此循环以匹配现有用户或创建新用户,我可以获得的数据无法在 JSON 上转换
从本地存储获取数据后,我无法转换为 JSON 以循环数据。
function User(id,pin,amount) {
this.id = id,
this.pin = pin,
this.amount = amount
}
var memory = [];
function loginSignup(){
var id= document.querySelector('.card').value;
var pin= document.querySelector('.pass').value;
var user = new User(id,pin);
user = JSON.stringify(user);
memory.push(user);
localStorage.setItem('user', memory);
var localData = [];
localData.push(localStorage.getItem('user'));
console.log(localData);
}
for(var i=0; i<localstorage.length; i++){
if(localstorage[i].id == id){
only allow update }
else{ update new user}
像这样是为了理解我想循环输入用户输入的本地存储数据。
在将user
数据保存到存储中时,您需要使用JSON.stringify
:
localStorage.setItem('user', JSON.stringify(memory));
现在,只要您需要,您就可以取回可解析和可遍历的数组:
var data = window.localStorage.getItem('user');
if (data) {
data = JSON.parse(data);
for (var i=0; i< data.length; i++) {
if (JSON.parse(data[i]).id == id) { // see note below
console.log("matched user", data[i])
}
else {
console.log("other user:", data[i])
}
}
}
笔记; 在树下,您还需要解析用户数据数组元素,例如。 JSON.parse(data[i]) 因为您在推入 memory 数组之前已经对其进行了字符串化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.