首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

flex 除去Array中的重复数据 过滤重复值 (转载)

2012-11-09 
flex 去除Array中的重复数据过滤重复值(转载)?xml version1.0 encodingutf-8? mx:Application xm

flex 去除Array中的重复数据 过滤重复值 (转载)

<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle" backgroundColor="white" creationComplete="init()"> <mx:Script> <![CDATA[ private var keys:Object = {}; private function init():void { var arr:Array = []; arr.push(1); arr.push(1); arr.push(7); arr.push(4); arr.push(4); arr.push(5); arr.push(6); /* Filter the original array and call the removeDuplicates() function on each item in the array. */ var filteredArr:Array = arr.filter(removedDuplicates); arrColl.source = arr; dedupedArrColl.source = filteredArr; } /**  * This method is used to filter an array so that no  * duplicate items are created. It works by first  * checking to see if a keys object already contains  * a key equal to the current value of the item.data  * value. If the key already exists, the  current item  * will not be readded to the data provider. If the key  * does not already exist, add the key to the keys  * object and add this item to the data provider.  */ private function removedDuplicates(item:Object, idx:uint, arr:Array):Boolean { if (keys.hasOwnProperty(item)) { return false; } else { keys[item] = item; return true; } } ]]> </mx:Script> <mx:ArrayCollection id="arrColl" /> <mx:ArrayCollection id="dedupedArrColl" /> <mx:HBox> <mx:VBox> <mx:Label text="Original ({arrColl.length} items):" /> <mx:List dataProvider="{arrColl}" /> </mx:VBox> <mx:VBox> <mx:Label text="Filtered ({dedupedArrColl.length} items):" /> <mx:List dataProvider="{dedupedArrColl}" /> </mx:VBox> </mx:HBox> </mx:Application>

热点排行