Anna77,
В общем вот вам готовый результат. Симметричность проверяется другим "необычным" способом. Всё прокомментировал, изучайте.
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;
}
function is_symmetrical(arr) { // функция проверки симметричности
var len = arr.length; // получаем длину массива
if(len <= 1) return false; // если в массиве меньше 2 элементов, нам проверять нечего
var to = Math.floor(len/2); // получаем половину длины
var arr_1 = arr.slice(0, to).reverse(); // отрезаем первую половину от массива и разворачиваем его наоборот. Был 123 станет 321
if(len%2) to++; // если длина не кратна двум, то пропускаем средний элемент
var arr_2 = arr.slice(to); // отрезаем вторую половину
return !(arr_1<arr_2 || arr_2<arr_1); // возвращаем результат проверки
}
//демо
var user_arr = get_array_from_user(); // получаем массив пользователя
var symmetrical = is_symmetrical(user_arr); // проверяем симметричность
alert('Пользователь ввёл: ' + user_arr + '\nМассив симметричен: ' + (symmetrical?'Да':'Нет')); // выводим результат