JS. Выбрать наибольшее число

Статус
Закрыто для дальнейших ответов.

vla

Well-Known Member
Регистрация
16.09.2011
Сообщения
230
Имеется несколько переменных. Как выбрать переменную с наибольшим числовым значением и работать дальше только с ней?

Наверное есть простой способ. Мне приходит в голову только сравнить каждый (операторами ветвления) и потом работать... Но у меня 20 переменных!

Код:
//есть 20 переменных
var i1; var i2; var i3;//итд
//надо найти var с наибольшим значением и вычесть только из нее "один", напр....
 

vla

Well-Known Member
Регистрация
16.09.2011
Сообщения
230
да, видимо массив - это лучший вариант!
Для выбора наибольшего значения мне оказалось достаточно этого:

mass1.sort();//это располагает числа в массиве по возрастанию
var x=mass1[20];//тк у меня 21 элемент в массиве - берем последний

не стал использовать лишнюю функцию сортировки...
 

tigra60

Спасатель
Регистрация
10.12.2009
Сообщения
1 990
Да, и вместо 20 используйте mass1.length - 1:
Код:
mass1.sort();
var x = mass1[mass1.length - 1];
 
  • Like
Реакции: vla

vla

Well-Known Member
Регистрация
16.09.2011
Сообщения
230
Да, и вместо 20 используйте mass1.length - 1
В моем случае нет необходимоси - у меня всегда ровно_двадцать_один_элемент. Но на будущее запомню такой ход, спасибо.


У меня новая беда!..
Данная конструкция не работает для отрицательных числовых значений:

var mass1=[1, -1.04 ..... 0.6]
document.write(mass1+"<br>")
mass1.sort();
document.write(mass1);
//положительные цифры -по возрастанию, а отрицательные - неадекват


Почему?

посмотреть прнимер можно в прикрепленном файле:
 

Вложения

brevis

Well-Known Member
Регистрация
10.08.2010
Сообщения
452
Можно вот так "хакнуть":
Код:
mass1.sort(function(a,b){return a-b;});
 

vla

Well-Known Member
Регистрация
16.09.2011
Сообщения
230
Согласен! Можно. В моем случае можно перед сравнением прибавить "100", а при выдаче результата вычесть "100", тк у меня диапазон крутится около нуля (мне заранее известно). [member=brevis], твой способ беру на заметку. спасибо.
Только удивительно, почему JavaScript не знает, что "-2" меньше чем "-1"? Может кто знает ответ?
 
Статус
Закрыто для дальнейших ответов.
Верх Низ