При проверке объектов массива не удаётся избежать излишних сообщений о несовпадении данных
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('введите пароль'))