Предполагая, что у вас есть Array
(или Vector
) чисел:
Использование sort()
с Array.NUMERIC
:
numbers.sort(Array.NUMERIC);
Используйте slice()
скопировать суб-набор отсортированного массива:
var middleIndex:int = numbers.length/2;
var middleNumbers:Array = numbers.slice(middleIndex - 2, middleIndex + 2);
Напишите функцию, которая использует петлю for
для повторения по элементу NTS и просуммировать их, затем разделить сумму на длине массива:
function average(numbers:Array):Number {
var sum:Number = 0;
for each(var n:Number in numbers){
sum += n;
}
return sum/numbers.length;
}
Для медианы, вы хотите, среднее число, если длина нечетная, или среднее из двух средних чисел, если длина еще:
function median(numbers:Array):Number {
var middle:Number = numbers.length/2;
if(middle is int){
return numbers[middle];
}else{
return (numbers[int(middle)] + numbers[int(middle) + 1])/2;
}
}
Сколько вам нужно? взгляните на метод сортировки массива. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Array.html. –