Ich habe eine Array-Nummer und ich möchte den Median berechnen. Wenn das Array ungerade ist, ist die Berechnung in Ordnung, wenn es noch seltsame Zahl ist.Median Berechnung in ActionScript 3
private var numbers:String = "2,5,3,4,6,1";
private var array:Array = numbers.split(",");
private function getMedian(array:Array):Number {
var sortnums:Array = array.sort(Array.NUMERIC);
var length:Number = sortnums.length;
var mid1:Number; var mid2:Number; var median:Number;
if(length % 2 == 0){
mid1 = length/2; trace("mid1: "+mid1);
mid2= ((length - 1)/2)-0.5; trace("mid2: "+mid2);
trace ("mid1: "+sortnums[mid1]+", mid2: "+sortnums[mid2]);
median = (sortnums[mid1] + sortnums[mid2])/2;
}else{
mid1 = (length/2)-0.5
median = sortnums[mid1]
}
trace (median);
return median;
}
Das Ergebnis ist 21,5, sollte jedoch 3,5
mid1 und MID2 ist eine Position in dem Array sein.
Könnte jemand helfen?
auf einer kompletten Seite beachten, sollen Sie Ihre String-Werte in numerisch diejenigen sanieren und konvertieren, bevor Sie Ihre Berechnungen durchführen. – joncys
@joncys Yup, das ist natürlich bevorzugt. Meine Anfangsfunktion nimmt ein Array, das bereits Zahlen enthält, um dies zu tun. – Marty
[at] Marty - Dieser Kommentar musste als Kommentar zu OPs Beitrag kommen, nicht als Antwort, mein Fehler. (Wie stellst du Namen mit Leerzeichen überhaupt vor ?!) – joncys