0
数値配列があり、中央値を計算したいと思います。 配列が奇数の場合、奇妙な数字が出てきても計算はOKです。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;
}
結果は21.5であるが、3.5
MID1とMID2がアレイに位置されなければなりません。
誰かが助けてもらえますか?
完全なサイドノートでは、あなたがサニタイズすべきであり、あなたの文字列値が数値のものに変換し、前にあなたがあなたの計算を行います。
は、それがそうのように読み込むようにコードを修正してください。 – joncys
@joncysはい、それはもちろん当然です。私の初期関数は、これを行うための数値がすでに入っている配列をとります。 – Marty
[at] Marty - このコメントは、あなたの答えではなく、私の間違いではなく、OPの投稿にコメントとして出さなければならなかった。 (とにかくスペースを入れて名前を引用する方法は?) – joncys