Показать сообщение отдельно
  #14 (permalink)  
Старый 28.09.2013, 01:10
Интересующийся
Отправить личное сообщение для user222 Посмотреть профиль Найти все сообщения от user222
 
Регистрация: 03.03.2013
Сообщений: 15

Сообщение от 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);

Последний раз редактировалось user222, 28.09.2013 в 01:28. Причина: Накидал обработку ошибок
Ответить с цитированием