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

рони 08.12.2014 12:50

:write: и reverse ненадо
alert([8,11,44,0,5].sort(function (a,b){return b - a}));

krutoy 08.12.2014 12:55

рони,
Да, похоже на то, исправил, спасибо.

krutoy 08.12.2014 12:58

рони,
А почему так сделано?
ЗЫ думаю потому, что так реализация проще. Все обрабатывается по единому алгоритму, если не указано иное.

Skriptor 08.12.2014 16:14

Цитата:

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

Отличнейше! Спасибо! Очень интересный вариант, и работает! Сейчас разбираю почему у меня выдавало ошибку в консоли на функцию (array.sort(function(a, b){return b-a})
Также интересно Вы применили операторы push, delete(i) и join. Кроме того, вопрос - как без параметра Number() решили задачу введения не строчных, а числовых значений в параметре prompt.

рони 08.12.2014 16:35

Skriptor,
а главное как он ловко использует charset=window-1251, с каким упорством игнорирует var, зато умеет всунуть ненужный delete и как брутально смотрится сам код, нет никаких гламурных отступов ... мда

kobezzza 08.12.2014 16:40

Цитата:

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

Век живи - век учись, я этого не знал :)

krutoy 08.12.2014 17:15

Цитата:

Сообщение от рони
ненужный delete

for (i=0; i<5; i++) {
}
alert(i)
alert(window["i"])
delete(i)
alert(window["i"])
alert(i)


for (var i=0; i<5; i++) {
}
alert(i)
alert(window["i"])
delete(i)
alert(window["i"])
alert(i)

Предлагаешь в функцию оборачивать каждый раз?

krutoy 08.12.2014 17:20

Цитата:

Сообщение от Skriptor
как без параметра Number() решили задачу введения не строчных, а числовых значений в параметре prompt.

там плюс стоит перед промпт,
alert(typeof +"10")

Так можно приводить к числу, просто короче.

danik.js 08.12.2014 17:33

Цитата:

Сообщение от krutoy
Предлагаешь в функцию оборачивать каждый раз?

Предлагаешь в глобал срать каждый раз?

krutoy 08.12.2014 18:03

Цитата:

Сообщение от danik.js
Предлагаешь в глобал срать каждый раз?

Ты блять, идиот? Рони утверждал, что я там delete бестолку поставил.
Цитата:

зато умеет всунуть ненужный delete


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