Sort duplicates in array

I have XML file with a item categoryName. I put these into an array - menuArray. But there are duplicates in the array and I need to know how to sort out the duplicates so just one of each of the items remains in the array to build my menu. Any help appreciated.


//load XML data from external url
var navData:XML;
var menuArray:Array = new Array();
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onComplete, false, 0, true);
loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError, false, 0, true);

var xmlFile:String="pegasus.xml";//for testing purposes
var xmlPath:String=root.loaderInfo.parameters.XMLDataFeed;


//if running localy use xmlFile else use xmlPath
if (xmlPath==null) {
    loader.load(new URLRequest(xmlFile));
    outText.appendText("xmlPath = "+xmlPath +" : "+ "xmlFile = "+xmlFile + xmlFile.length);
    //trace(xmlFile);
} else {
    loader.load(new URLRequest(xmlPath));
    outText.appendText("xmlPath = "+xmlPath +" : "+ "xmlFile = "+xmlFile + xmlFile.length);
}



function onComplete(evt:Event):void {
    try {
        navData=new XML(evt.target.data);
        //trace(navData);
        //place xml data into text component
        xmlData.text=navData;
        loader.removeEventListener(Event.COMPLETE, onComplete);
        loader.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
        createMenu();
    } catch (err:Error) {
        trace("Could not parse loaded content as XML:
" + err.message);
    }
}

function onIOError(evt:IOErrorEvent):void {
    trace("An error occurred when attempting to load the XML.
" + evt.text);
    outText.appendText(evt.text);
}



function createMenu():void {
    //get info
    for each (var info:XML in navData..info) {
        var infoName:String=info.name.toString();
        var infoClient:String=info.client.toString();
        var infoCreator:String=info.creator.toString();

        //trace(infoName);
        //trace(infoClient);
        //trace(infoCreator);

        //place text in text fields
        pname.text=infoName;
        client.text=infoClient;
        creator.text=infoCreator;
    }


    //get pages
    for each (var page:XML in navData..page) {
        var pageType:String=page.type.toString();
        var pageName:String=page.pageName.toString();
        var pageOrder:String=page.order.toString();
        var pageCategory:String=page.categoryName.toString();
        var pageContent:String=page.content.toString();

        menuArray=[pageCategory];

        trace(menuArray);
        //appears in output panel
        //Introduction
        //Introduction
        //Making It So
        //Making It So
        //Our Services
        //Our Services
        //Our Work
        //Our Work
        //Our Work
        //Our Work
        //Our Work
        //Our Work
        //About Us
        //About Us
        //About Us

        //trace(pageCategory);