![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: May 2009
Сообщений: 45
|
Ребята, помогите пожалуйста. Подскажите способ, который бы определил меньшее число из ряда чисел. Есть функция Math.min() но она определяет между двумя числами, а мне нужно из списка чисел.
Заранее очень признательна! |
|
|||||
|
Modus ponens
|
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 23.12.2009 в 00:18. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
wvxvw, в данном случае тернарный оператор скорее вреден, уж лучше не переприсваивать значение min.
|
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Проще, но не верно с точки зрения производительности. Незачем сортировать весь массив (а он может быть и довольно большим), чтобы найти элемент с наименьшим значением.
|
|
|||||
|
.
|
|
|
|||||
|
Регистрация: May 2009
Сообщений: 45
|
Спасибо!
Последний вариант работает! |
|
|||||
|
.
|
Что-то нашло. Более универсальный вариант
/** * @private */ function getEssential(evaluateFunction:Function, evaluateCollection:Array):Number { evaluateCollection = evaluateCollection.slice(); var interim: Number; while ( interim = evaluateFunction.apply(null, evaluateCollection) ) { evaluateCollection.shift(); evaluateCollection[0] = interim; } return evaluateCollection[0]; } var arr:Array = [1, 12, 123, 546, -2, 2, 67, 7]; trace( 'Minimum: ' + getEssential(Math.min, arr) ); trace( 'Maximum: ' + getEssential(Math.max, arr) ); |
|
|||||
|
Modus ponens
|
Цитата:
var min:Number = Infinity; var a:Array = [4, 3, 7, 4, 9, 5, 1, 4, 5]; var i:Number = a.length; var t:Number; while (i-- && !void(t = a[i])) (t < min) && (min = t); trace(min); // 1 ![]()
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 24.12.2009 в 01:49. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Я не понял, вы соревнуетесь в извращенности и тормознутости реализации простейшей процедуры что ли?
|
![]() |
![]() |
Часовой пояс GMT +4, время: 12:11. |
|
|
« Предыдущая тема | Следующая тема » |
|
|