Показать сообщение отдельно
Старый 26.03.2008, 14:56
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
sort + function.

Код:
var arr:Array = new Array();
function sort(a:Object, b:Object):int {
	if (a.index0 == b.index0) {
		if (a.index1 == b.index1) {
			return a.index2 > b.index2 ? 1 : -1;
		} else {
			return a.index1 > b.index1 ? 1 : -1;
		}
	} else {
		return a.index0 > b.index0 ? 1 : -1;
	}
	return 0;	
}
for (var i:uint = 0;i < 15;i+=1) {
	var o:Object = new Object();
	o.index0 = Math.floor(Math.random()*4);
	o.index1 = Math.floor(Math.random()*4);
	o.index2 = Math.floor(Math.random()*4);
	o.toString = function():String {
		return '['+this.index0+','+this.index1+','+this.index2+']';
	}
	arr.push(o);
}
arr.sort(sort);
trace(arr.join('\n'));
Можно упростить, если нужно.


Последний раз редактировалось etc; 26.03.2008 в 15:02.