Показать сообщение отдельно
  #9 (permalink)  
Старый 06.09.2018, 10:56
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Сообщение от AndriiS
Идея была в том, что первая и вторая функции проверяющие длину и наличие того, что ввел юзер возвращают в результате true или false. Потом, есть третья функция, которая принимает в себя одну из комбинаций (true/true, false/true, false/false, true/false) от двух первых и в зависимости от того, что подходит, потом она выдает return и соответствующий alert.
Именно так и работает пример в пост 2.
Запуск функций isLoginValid(login) и isLoginUnique(login, logins) в функции addLogin возвращает в нее результаты выполнения этих функций

Если очень хочется запускать их не в функции addLogin, а передавать в нее их результаты, то можно так:
<script>
"use strict";

const logins = ["Mango", "robotGoogles", "Poly", "Aj4x1sBozz", "qwerty123"]; //массив по-условию
let login = prompt("Введите новый логин", ""); //запрос на ввод нового логина

//проверка на количество символов
const isLoginValid = function (login) {
if (login.length < 4 || login.length > 16) {
alert('Ошибка! Логин должен быть от 4 до 16 символов');

return false;
}
return true;
};

//проверка на совпадения
const isLoginUnique = function (login, allLogins) {
if (allLogins.includes(login)) {
alert('Такой логин уже используется!');
return false;
}
return true;
};

// добавление логина в массив
const addLogin = function (login, parValid, parUniq) {
if (parValid && parUniq) {
alert('Логин успешно добавлен!');
logins.push(login);
}
};

//вызов функций

addLogin(login, isLoginValid(login), isLoginUnique(login, logins));
</script>

Последний раз редактировалось Dilettante_Pro, 06.09.2018 в 11:08.
Ответить с цитированием