![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Oct 2007
Сообщений: 4
|
Как найти минимум среди >2 переменных? Math.min работает только для двух
А если у меня переменных 20 штук, мне придется Math.min 19 раз использовать? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
var arr = [4,7,8,9,2,4];
function min(arr) {
var l = arr.length;
var m = Number.POSITIVE_INFINITY;
while (l--) {
if (m > arr[l]) {
m = arr[l];
}
}
return m;
}
trace(min(arr));
|
|
|||||
|
Регистрация: Oct 2007
Сообщений: 4
|
спасибо, вот эту штуку не знал sort(Array.NUMERIC)
|
|
|||||
|
Регистрация: Oct 2007
Сообщений: 6
|
сортировка массива по величине - офигенное решение задачи)
мне даж в голову такое не приходило) ![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Оно медленнее первого варианта.
|
|
|||||
|
а как определить которое быстрее, а которое медленнее?
байт код? Смотрю байт код с помощью ASV4 для обоих вариантов, у второго байт код больше, это и значит что он медленнее? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Нет, по байткоду скорость выполнения определить нельзя.
Скорость выполнения определяется прямо по времени выполнения, простым тестом на пару миллионов итераций. Операции копирования и сортировки медленнее простого обхода массива. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Потому что ты изменяешь исходный массив.
|
|
|||||
|
Цитата:
![]() Тогда так: var arr = [4, 7, 8, 9, 2, 4];
function min(arr) {
var a = arr.slice(0);
return (a.sort()[0]);
}
trace(min(arr));
![]() Последний раз редактировалось Жень Шень; 31.10.2007 в 19:51. |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:03. |
|
|
« Предыдущая тема | Следующая тема » |
|
|