Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.10.2013, 12:19
Аспирант
Отправить личное сообщение для Anna77 Посмотреть профиль Найти все сообщения от Anna77
 
Регистрация: 25.09.2013
Сообщений: 44

массив чисел
Здравствуйте! Подскажите, можно ли проверять элементы как числа? т.к. в данной задаче получается 8 больше чем 44, к примеру.
var Arr = Array();
for (var i = 0; i<10; i++)
{
Arr[i] = prompt("Введите " + i + "-й элемент массива:");
}

Последний раз редактировалось Anna77, 13.10.2013 в 00:57.
Ответить с цитированием
  #2 (permalink)  
Старый 11.10.2013, 12:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Anna77,prompt возвращает строки
строка 8 больше чем строка 44 -- сделайте строку числом
Ответить с цитированием
  #3 (permalink)  
Старый 11.10.2013, 12:45
Аспирант
Отправить личное сообщение для vashurin Посмотреть профиль Найти все сообщения от vashurin
 
Регистрация: 01.04.2008
Сообщений: 52

Сообщение от Anna77 Посмотреть сообщение
Здравствуйте! Подскажите, можно ли при нахождении максимального элемента проверять элементы как числа? т.к. в данной задаче получается 8 больше чем 44, к примеру.
var Arr = Array();
for (var i = 0; i<10; i++)
{
Arr[i] = prompt("Введите " + i + "-й элемент массива:");
}
document.write("Введенный массив из 10 элементов: Arr [" + Arr + "] " + "</br>");

var arrLength = Arr.length;

var n = Arr.length, max = Arr[0], count = 1;

for (var i = 1; i < n; i++)
{if (Arr[i] > max)
{max = Arr[i]; count = 1;}
else
{if (Arr[i] == max) count++;}
}
document.write("Максимальное значение массива: " + max + ", его количество: " + count);
Ну во-первых, при вводе надо проверять, что вводится, это вообще число? К тому же, все, что вводится по умолчанию считается строкой, т.е. нужно принудительное преобразование типов, parseInt() и parseFloat() вам в помощь.
Во-вторых, document.write лучше не использовать, а использовать innerHTML

Последний раз редактировалось vashurin, 11.10.2013 в 12:48.
Ответить с цитированием
  #4 (permalink)  
Старый 11.10.2013, 13:17
Аспирант
Отправить личное сообщение для Anna77 Посмотреть профиль Найти все сообщения от Anna77
 
Регистрация: 25.09.2013
Сообщений: 44

т.е. так, например : var num = parseInt(Arr[i]); ?
Ответить с цитированием
  #5 (permalink)  
Старый 11.10.2013, 15:17
Аспирант
Отправить личное сообщение для vashurin Посмотреть профиль Найти все сообщения от vashurin
 
Регистрация: 01.04.2008
Сообщений: 52

Сообщение от Anna77 Посмотреть сообщение
т.е. так, например : var num = parseInt(Arr[i]); ?
Да.
Ну или так: var num = parseInt(Arr[i])||0
т.е. если пользователь ввел целое число, то переменная num будет хранить это число, а если набор символов, которые целым числом не являются, то num станет равным 0.

Но, "по человечески", хорошо бы проверять данные в момент ввода, и если пользователь при вводе ошибся (случайно или специально внес не число), то сообщить ему об ошибке и дать возможность исправить ввод.
И уже потом обрабатывать введенные данные.

Последний раз редактировалось vashurin, 11.10.2013 в 15:28.
Ответить с цитированием
  #6 (permalink)  
Старый 11.10.2013, 15:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от Anna77
prompt("Введите " + i + "-й элемент массива:");
+ перед prompt если точно числа вводятся

Последний раз редактировалось рони, 13.10.2013 в 11:10.
Ответить с цитированием
  #7 (permalink)  
Старый 13.10.2013, 00:19
Аспирант
Отправить личное сообщение для Anna77 Посмотреть профиль Найти все сообщения от Anna77
 
Регистрация: 25.09.2013
Сообщений: 44

спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
НОД более чем 2-х чисел Demath Общие вопросы Javascript 4 06.01.2013 05:27
Создать массив не содержащие данные другого масива KamalovRadik Общие вопросы Javascript 1 05.09.2011 03:30
как запихнуть в массив оператор ? mitiya Общие вопросы Javascript 2 09.02.2011 18:57
Как создать многомерный массив FRIE Общие вопросы Javascript 29 02.06.2010 19:14
Подскажите, как вернуть js-скрипт массив Polkan AJAX и COMET 18 30.04.2010 23:30