блиин точно можно же хранить ещё и смотреть есть ли там что-то..
а можно ещё рекурсией)

Код 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.forEach(traceEmployee);
arr = sortO(arr,0,0,arr.length);
trace("Managers:");
arr.forEach(traceEmployee);
function traceEmployee(element:*, index:int, arr:Array):void {
trace("\t" + element.name + ((element.manager) ? " (manager)" : ""));
}
function sortO(arrr:Array, i1:uint, i2:uint, len:uint):Array {
if (i1 < len) {
if (i2 < len) {
var len2:uint = len;
if(i1 != i2 && arrr[i1]["name"] == arrr[i2]["name"] && arrr[i1]["manager"] == arrr[i2]["manager"]){
len2--;
arrr.splice(i2, 1);
}
sortO(arrr, i1, i2+1, len2);
} else {
sortO(arrr, i1+1, 0, len);
}
}
return arrr;
}