При проверке объектов массива не удаётся избежать излишних сообщений о несовпадении данных

let users = [
  user_1 = {
    user_name: 'Первый',
    user_login: 'l1',
    user_password: 'p1'
  },
  user_2 = {
    user_name: 'Второй',
    user_login: 'l2',
    user_password: 'p2'
  },
  user_3 = {
    user_name: 'Третий',
    user_login: 'l3',
    user_password: 'p3'
  }
]

function authorisation(guest_login, guest_password) {
  for (let key in users) {
    if(guest_login == users[key].user_login && guest_password == users[key].user_password) {
      return alert('Хай ' + users[key].user_name);
    } else {
      alert('Чёт не то'); continue;
    }
  }
}

authorisation(prompt('Введите логин'), prompt('введите пароль'))

Ответы (1 шт):

Автор решения: Алексей Шиманский

let users = [
  user_1 = {
    user_name: 'Первый',
    user_login: 'l1',
    user_password: 'p1'
  },
  user_2 = {
    user_name: 'Второй',
    user_login: 'l2',
    user_password: 'p2'
  },
  user_3 = {
    user_name: 'Третий',
    user_login: 'l3',
    user_password: 'p3'
  }
]

function authorisation(guest_login, guest_password) {
  let userPassed = false;
  let user = {};
  
  for (let key in users) {
      if (guest_login == users[key].user_login && guest_password == users[key].user_password) {
          userPassed = true;
          user = users[key];
          break; 
      } 
  }
  
  alert(userPassed ? 'Хай ' + user.user_name : 'Чёт не то');
}

authorisation(prompt('Введите логин'), prompt('введите пароль'))


let users = [
  user_1 = {
    user_name: 'Первый',
    user_login: 'l1',
    user_password: 'p1'
  },
  user_2 = {
    user_name: 'Второй',
    user_login: 'l2',
    user_password: 'p2'
  },
  user_3 = {
    user_name: 'Третий',
    user_login: 'l3',
    user_password: 'p3'
  }
]

function authorisation(guest_login, guest_password) {
  let user = users.find(user => guest_login == user.user_login && guest_password == user.user_password);
    
  alert(user ? 'Хай ' + user.user_name : 'Чёт не то');
}

authorisation(prompt('Введите логин'), prompt('введите пароль'))

→ Ссылка