Цитата:
Сообщение от 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)" : ""));
}