PDA

Просмотр полной версии : Определение максимального числа в массиве через цикл


tsarapkabel
07.06.2012, 22:17
Есть массив чисел. Например
var arrayOfUints:Array = [3, 5, 7, 4, 2, 0, 1, 2];
Как в цикле определить максимальное число?

Есть, конечно, Math.max, но такой вариант "не смотрится", да и к тому же размер массива может поменяется динамически:
maximum = Math.max(arrayOfUints[0], arrayOfUints[1], arrayOfUints[2], arrayOfUints[3], arrayOfUints[4], arrayOfUints[5], arrayOfUints[6], arrayOfUints[7]);

КорДум
07.06.2012, 22:19
Простейшая же задача.
var max = arr[0];
for (var i:int = 1; i < arr.length; i++) {
if (max < arr[i]) max = arr[i];
}

tsarapkabel
07.06.2012, 22:25
Спасибо. Этот вариант приходил в голову, думал есть что-то более простое :)

strangedk
07.06.2012, 22:27
А куда проще-то. Без перебора не обойтись

udaaff
07.06.2012, 22:30
Есть, конечно, Math.max, но такой вариант "не смотрится", да и к тому же размер массива может поменяется динамически:

Math.max.apply(this, arrayOfUints)

tsarapkabel
07.06.2012, 22:35
А куда проще-то.
Первое что пришло в голову :D
Math.max(array);

...
Вот оно! Спасибо!

GemiBillyBob
08.06.2012, 16:02
Можно ещё так
var max:int = (array.sort(Array.NUMERIC|Array.DESCENDING))[0];

Aquahawk
08.06.2012, 16:12
операция сортировки много затратнее чем поиск.