Задать вопрос
@Lorelin
Student web

Не пойму как правильно связать конструкторы с циклом?

Здравствуйте, вот мой тестовый код
spoiler
function User (firstName, lastName) {
    this.firstName = firstName;
    this.lastName = lastName;
    
    let date = new Date();
    this.regDate = date.toLocaleDateString() + ' ' + date.toLocaleTimeString();
}

function UserList (User) {
    this.users = [];

    this.addUser = function(User){
        this.users.push(User);
    }

    this.getAllUsers = function(){
        for (let eachUser of this.users) {
            console.log(eachUser);
        }
    }
}

while(true){
    newUser = prompt('Введите имя и фамилию') 
    if (newUser != null) {
        reg = new User(newUser)

        reg2 = new UserList
        reg2.addUser(reg) 
    }

    if (newUser === null) {
        reg2.getAllUsers()
        break;
    }
}


Мне нужно чтобы введенные данные в промпт заносились в массив, а при отмене промпта выводился список всех пользователей. На данном этапе выводится только последний пользователь, не пойму в чем проблема..
  • Вопрос задан
  • 49 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@gracer
У вас в цикле новый список постоянно создаётся. Нужно вынести за цикл
reg2 = new UserList
while(true){
    newUser = prompt('Введите имя и фамилию') 
    if (newUser != null) {
        reg = new User(newUser)

        
        reg2.addUser(reg) 
    }

    if (newUser === null) {
        reg2.getAllUsers()
        break;
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы