FlashGuru помогите
Как настаящий герой пошол в обход, написал даный сурс для сортировки с любым количеством сортируемых елементов:

Код:
Array.prototype.mySortOn = function() {
this.constructor.arg = arguments;
// проблема с аргументами проверю потом
// ----- begin Compare
function compare() {
var argPrev = arguments[1].constructor.argPrev;
arguments[1].constructor.argPrev = arguments[0];
if (argPrev == undefined) {
arguments[1].sortOn(arguments[0]);
} else {
var i = 0;
var _arr = [arguments[1][0]];
var _sort = [];
while (i<arguments[1].length) {
if (arguments[1][i][argPrev] == arguments[1][i+1][argPrev]) {
_arr.push(arguments[1][i+1]);
} else {
_arr.sortOn(arguments[0]);
_sort = _sort.concat(_arr);
delete _arr;
_arr = [arguments[1][i+1]];
}
++i;
}
return _sort;
}
return arguments[1];
}
// ----- end of Compare
while (this.constructor.arg.length>0) {
this = compare(this.constructor.arg.shift(), this);
}
// ????????????????? this уже не принадлежит к arr
arr = this;
};
// ------- end Of Function
arr = [];
arr.push({x:1, y:1, z:1});
arr.push({x:2, y:2, z:2});
arr.push({x:2, y:2, z:1});
arr.push({x:2, y:1, z:1});
arr.push({x:3, y:1, z:1});
arr.push({x:2, y:1, z:2});
arr.mySortOn("y", "x", "z");
//
for (var i = 0; i<arr.length; i++) {
trace("x : "+arr[i].x+" | "+"y : "+arr[i].y+" | "+"z : "+arr[i].z);
}
код робочий но возник глюк. объект и его псевдоним раздилились

Пришлось занова переприсваевать ( строка 34 ). ОТЦЫ подскажите что произошло плз
зарание благодарен
P.S. если будут идеи можно стучаться в аську