Сообщение от Anna77
|
Скажите, а как сделать, чтобы в конце отображался введенный пользователем массив(из prompt)? и исходя из него выбиралось nummax?
|
Я тут мимо проходил, вот набросал функцию. Вызываете её, она отдаёт вам массив и можете делать с ним всё, что душе угодно.
function get_array_from_user() {
var ret = []; // то, что будем возвращать
var err = ""; // будем хранить ошибку для показа пользователю
var str = ""; // объявляем строку
while(str.indexOf('!') < 0) { // пока в ответе пользователя нет "!". Если строка "20!", то 20 будет добавлен в массив и цикл завершится
str = prompt((err?err + '\n\n' : '') + //если есть ошибка, показываем её
"Введите элемент массива, завершение ввода - символ '!':");
err = ''; // обнуляем ошибку
var num = parseInt(str);
// тут обрабатываем ошибки
if(str === null) { // если нажата отмена. По идее лучше бы завершить ввод, но мы ждём "!".
// Eсли хотите завершить, замените "continue" на "break"
err = 'Ошибка: Вы отменили ввод!'; // записываем ошибку
str = ''; // иначе у null нет свойства indexOf и скрипт авершится с ошибкой без результатов.
continue; // обрываем "круг" цикла.
} else
if(!str) { // если пользователь ничего не ввёл
err = 'Ошибка: Вы ничего не ввели!'; // записываем ошибку
continue; // обрываем "круг" цикла.
} else
if(isNaN(num)) { //если не число
err = 'Ошибка: "' + str + '" не является числом!'; // записываем ошибку
continue; // обрываем "круг" цикла.
}
ret.push(num); // если всё нормально, то записываем в массив
}
return ret;
}
// демонстрация:
var user_array = get_array_from_user(); // записываем в user_array то, что вернёт наша функция
alert('Пользователь ввёл: ' + user_array);