Как зациклить на локальных объектах хранения в массиве или преобразовать данные в JSON - PullRequest
1 голос
/ 25 октября 2019

Я создаю проект 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}

Как это для понимания, я хочу зациклить данные локального хранилища, которые вводят пользователи.

1 Ответ

0 голосов
/ 25 октября 2019

Вам нужно использовать JSON.stringify при сохранении user данных в хранилище:

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]), потому что вы его преобразовали в строку, прежде чем помещать в массив памяти.

DEMO https://jsfiddle.net/pg2bsLve/1/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...