Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Сортировка массивов (ввод через prompt) (https://javascript.ru/forum/project/52199-sortirovka-massivov-vvod-cherez-prompt.html)

Skriptor 08.12.2014 05:22

Сортировка массивов (ввод через prompt)
 
Здравствуйте, сейчас более детально изучаю javascript. Но возник вопрос по массивам. В частности, как сделать так, чтобы массив сортировался после заданного пользователем количества ввода параметров (через prompt). Вообщем, не совсем понял, как представить массив как переменную, которой можно присвоить prompt и затем отсортировать...
Подскажите пожалуйста, что здесь исправить, чтобы пользователь вводил 5 чисел, которые публиковались бы отсортированными по убыванию. Что не так? Спасибо.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=window-1251">
</head>
<body>
<script language="javascript"> 
for (i=0; i<5; i++) {
array [i] = Number(prompt ("Введите число"));
var array = [i];
array.sort(function(a, b) { return b - a; });
document.write (array + " ");}
</script>
</body>
</html>

danik.js 08.12.2014 06:24

Цитата:

Сообщение от Skriptor
array [i] = Number(prompt ("Введите число"));
var array

То есть ты сначала пытаешься заполнить массив, а только потом его создаешь? Не считаешь что должно происходить наоборот?

И массив создается так: var array = [];

krutoy 08.12.2014 12:00

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=window-1251">
</head>
<body>
<script language="javascript">
array=[]
for (i=0; i<5; i++) {
array.push(+prompt ("Введите число"))
}
delete(i)
document.write (array.sort(function(a, b){return b-a}).join(" "));
</script>
</body>
</html>

рони 08.12.2014 12:13

krutoy,
ну не будет же сортировать числа ваш код.

рони 08.12.2014 12:15

krutoy,
sort() по умолчанию сортирует всё как строки

krutoy 08.12.2014 12:19

рони,
Ну так сортирует же, что значит не будет?

krutoy 08.12.2014 12:30

Цитата:

Сообщение от рони
sort() по умолчанию сортирует всё как строки

И почему это он должен их сортировать как строки, если видит он их, как числа.
;[2,1,3].sort(function(x){alert(typeof x)})

рони 08.12.2014 12:39

krutoy,
не видит это вам кажется :stop:

krutoy 08.12.2014 12:41

Цитата:

Сообщение от рони
это вам кажется

ага, может js-двигу тоже кажется?

рони 08.12.2014 12:44

krutoy,
alert([8,11,44,0,5].sort());

Цитата:

Сообщение от рони
sort() по умолчанию сортирует всё как строки



Часовой пояс GMT +3, время: 21:57.