在FLEX中过滤简单数组中的重复元素.

在flexexamples看到一篇过滤数组重复元素的文章,
不过是复杂数组,
自己做了一个过滤最简单数组的方法,与大家分享:



代码 :
<? xml version="1.0" encoding="utf-8" ?>
< mx:Application  xmlns:mx ="http://www.adobe.com/2006/mxml"  layout ="absolute"  creationComplete ="init()"  fontSize ="12" >
    
< mx:Script >
        
<![CDATA[
        import mx.controls.Alert;
            private var myArray:Array=new Array();
            private var filteredArr:Array=new Array();
            private var keys:Array =new Array();
            private function init():void
            {
                myArray.push("wang");
                myArray.push("wang");
                myArray.push("yan");
                myArray.push("wang");
                myArray.push("xiaoxiaocainiao");
                myArray.push("xiaoxiaocainiao");
                myArray.push("xiaoxiaocainiao");
                myArray.push("小小菜鸟");
                myArray.push("小小菜鸟");
                myArray.push("小小菜鸟");
                yuan.dataProvider=myArray;
            }
            private function onclick(event:MouseEvent):void
            {
                keys=null;
                keys= new Array();
                filteredArr=myArray.filter(removedDuplicates);
                mubiao.dataProvider=filteredArr;
            }
               private function removedDuplicates(item:*, idx:uint, arr:Array):Boolean {
                if (keys.indexOf(arr[idx])!=-1) {
                    return false;
                } else {               
                    keys.push(arr[idx]);
                    return true;
                }
            } 
        //过滤数组中重复元素--结束
        
]]>
    
</ mx:Script >
    
< mx:Button  x ="144"  y ="285"  label ="过滤"  click ="onclick(event)"  fontSize ="12" />
    
< mx:List  id ="yuan"  x ="10"  y ="47"  width ="150"  height ="200" ></ mx:List >
    
< mx:List  id ="mubiao"  x ="177"  y ="47"  width ="150"  height ="200" ></ mx:List >
    
< mx:Label  x ="51"  y ="21"  text ="源数组"  fontSize ="12" />
    
< mx:Label  x ="189"  y ="21"  text ="目标数组"  fontSize ="12" />
</ mx:Application >
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值