Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 如何循环数组中的本地存储对象或转换JSON中的数据_Javascript_Loops - Fatal编程技术网

Javascript 如何循环数组中的本地存储对象或转换JSON中的数据

Javascript 如何循环数组中的本地存储对象或转换JSON中的数据,javascript,loops,Javascript,Loops,我正在构建ATM项目,并将用户数据存储在本地存储器中,但之后我收集数据并在此基础上循环以匹配现有用户或创建新用户。我可以获得的数据无法在JSON上转换 从本地存储获取数据后,我无法转换为JSON来循环数据 function User(id,pin,amount) { this.id = id, this.pin = pin, this.amount = amount } var memory = []; function loginSignup(){ var i

我正在构建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}
功能用户(id、pin、金额){
this.id=id,
this.pin=pin,
这个。金额=金额
}
变量内存=[];
函数loginSignup(){
var id=document.querySelector('.card')。值;
var pin=document.querySelector('.pass').value;
var user=新用户(id、pin);
user=JSON.stringify(用户);
内存推送(用户);
setItem('user',memory);
var localData=[];
localData.push(localStorage.getItem('user'));
log(localData);
}

对于(var i=0;i您需要在将
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])
        }
    }
}
var data=window.localStorage.getItem('user');
如果(数据){
data=JSON.parse(数据);
对于(变量i=0;i
注意;在树下,您还需要解析用户数据数组元素,例如JSON.parse(data[i]),因为您在将其放入内存数组之前已经对其进行了字符串化


演示

在将
用户
数据保存到存储器中时,需要使用
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])
        }
    }
}
var data=window.localStorage.getItem('user');
如果(数据){
data=JSON.parse(数据);
对于(变量i=0;i
注意;在树下,您还需要解析用户数据数组元素,例如JSON.parse(data[i]),因为您在将其放入内存数组之前已经对其进行了字符串化


DEMO

console.log(localData);
的输出是什么?如果它看起来像有效的JSON,您应该能够使用
JSON.parse()
将其转换为objecct。是的,但是当我使用JSON.parse()时它给出了错误。然后请告诉我们您收到的错误以及
localData
的内容是什么样的-我们应该如何帮助您?:)console.log(localData)的输出是字符串格式的。[“{”id:“1111111111111111”,“pin:“1234”},{”id:“2222…n:“1234”},{”id:“55555555”,“pin:“1234”}]0:“{”id:”1111111111111111111,pin:“1234”},{“id:“2222222222222”,“pin:“1234”},{“id:“3333333333333”,“pin:“1234”},{“id:“44444444444444”,“pin:“1234”},{“id:“555555555555555555”,“pin:“1234”}]我从本地存储中获取了这些类型的数据,它无法解析并给出错误。
console.log(localData)的输出是什么?如果它看起来像是有效的JSON,您应该能够使用
JSON.parse()
,将其转换为objecct。是的,但当我执行JSON.parse()时,它会给出错误。然后请向我们显示您收到的错误以及
localData
的内容是什么样的-否则我们应该如何帮助您?:)“console.log(localData)”的输出是字符串格式的。[“{”id:“1111111111111111”,“pin:“1234”},{”id:“2222…n:“1234”},{”id:“555555555555”,“pin:“1234”}]0:“{”id:“1111111111111111”,“pin:“1234”},{”id:“22222222222222”,“pin:“1234”},{”id:“3333”,“pin:“1234”:“1234”},{”id:“1234”;“443333”,“pin:“1234”{”445555555544445544},{“,“pin”:“1234”}“]我从本地存储中获取了这些类型的数据,如果给出错误,它将无法解析。