Показать сообщение отдельно
Старый 05.04.2011, 17:46
kseniya вне форума Посмотреть профиль Отправить личное сообщение для kseniya Найти все сообщения от kseniya
  № 11  
Ответить с цитированием
kseniya
 
Аватар для kseniya

Регистрация: Oct 2010
Адрес: Новосиб
Сообщений: 122
Цитата:
Сообщение от etc Посмотреть сообщение
Жду когда кто-нибудь напишет вариант с одним единственным циклом.
оно?
Код AS3:
var arr:Array = new Array();
arr.push({name:"one", manager:true});
arr.push({name:"tru", manager:true});
arr.push({name:"fri", manager:false});
arr.push({name:"one", manager:true});
arr.push({name:"tru", manager:true});
arr.push({name:"fri", manager:true});
trace("Employees:");
arr.sortOn(["name", "manager"], [Array.CASEINSENSITIVE, Array.CASEINSENSITIVE]);
arr.forEach(traceEmployee);
for(var i:uint = 0; i<arr.length; i++){
	if(arr[i]["name"] == arr[i+1]["name"] && arr[i]["manager"] == arr[i+1]["manager"]){
		arr.splice( i, 1 );
	}
}
trace("Managers:");
arr.forEach(traceEmployee);
function traceEmployee(element:*, index:int, arr:Array):void {
	trace("\t" + element.name + ((element.manager) ? " (manager)" : ""));
}