Добрый день!
У меня есть многомерный массив следующей структуры:

Код AS1/AS2:
var mainArr:Array = new Array();
for ( i = 0; i < N; i++ ) {
var subVar:Array = new Array();
subArr['m1'] = K1; // ну что то присваиваем элементу массива
subArr['m2'] = K2; // тоже что то присваиваем элементу массива
subArr['m3'] = K3; // тоже что то присваиваем элементу массива
subArr['ml4'] = K4; // тоже что то присваиваем элементу массива
mainArr[i] = subVar; // т.е. у каждого mainArr[i] есть mainArr[i]['m1'], mainArr[i]['m2'], mainArr[i]['m3'], mainArr[i]['m4']
}
Нужно найти в этом многомерном масиве максимальный элемент m2, т.е максимальный элемент из всех mainArr[i]['m2'] (i от 0 до N).
Как это можно сделать красивым способом?
Я написал в лоб вот так:

Код AS1/AS2:
var yInd:Array = getMaxMinIndexInArr( mainArr, "m2" ); trace( "yInd " + yInd ); // вывод для дебага
// возвращает минимальное и максимальное значение индексов из массива данных
// в нашем случае index='m2'
function getMaxMinIndexInArr( data_arr:Array, index:String ):Array {
var arr:Array = new Array(2);
var cur:Number = data_arr[0][index];
arr[0] = cur;
arr[1] = cur;
for( var i:Number = 1; i < (data_arr.length - 1) ; i++) {
cur = data_arr[i][index];
trace( "cur =" + cur + " arr[0]=" + arr[0] );// организуе вывод для дебага
if ( cur < arr[0] ) {
arr[0] = cur;
trace(" cur < arr[0] присвоили arr[0]=" + arr[0] );// еще один вывод для дебага
}
}
return arr;
}
Вроде бы все правильн ои тупо - если текущий элемент массива меньше чем переменная в которой мы храним имнимальное число. то в переменную которая хранит минимальное число записываем текущий элемент массива. НО вывод output выдает мне следующий екст

Код:
cur =658.63 arr[0]=644.47
cur =549.43 arr[0]=644.47
cur < arr[0] присвоили arr[0]=549.43
cur =1285.47 arr[0]=549.43
cur < arr[0] присвоили arr[0]=1285.47
yInd 1285.47,644.47
И получается что в какой то момент времени число 1285.47 меньше чем 549.43. В чем фокус?
ПОдскажи плз.