Как отфильтровать объект по имени пользователя?

Всем привет.

Пишу приложения на ангуларе с формой для регистрации. Данные все хранятся в localStorage. У меня не получается сделать проверку на имя пользователя, т.е. если такой есть, то выводим сообщения, если нет, то записываем в массив. Подскажите пожалуйста, как проверку сделать и что бы записывало в localStarage нормально. Ни то сейчас записывает третьим объектом, а при следующей регистрации меняет этот объект в место того, что бы записать еще один.

Вот код:

registration(event) {
        event.preventDefault();

        this.localStor();

        let newUserName = event.target.form.elements[0].value,
            newUserPass = event.target.form.elements[1].value;

        // берем значения с локал и сразу преобразуем
        let meaningsLocalS = JSON.parse(localStorage.getItem('user'));

        for (var prop in meaningsLocalS) {

            if (newUserName != prop.userName) {
                let newUser = {
                    userName: newUserName,
                    userPass: newUserPass
                }

                meaningsLocalS.push(newUser);

                let newJson = JSON.stringify(meaningsLocalS);
                localStorage.setItem('user', newJson);

                this.user.setUserLoggedIn();
                this.router.navigate(['/post']);

                break;
            } else {
                alert('Пользователь с таким логином существует.');
                break;
            }
        }



    }

    localStor() {
      // Не понял как записать сразу в локал
      const locSt = [
          {
              userName: "admin",
              userPass: "admin"
          },
          {
              userName: "marusya",
              userPass: "123"
          }
      ];
      let lc = JSON.stringify(locSt);
      localStorage.setItem('user', lc);
    }
  • Вопрос задан
  • 68 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы