2010-04-19 88 views

回答

0
 var array1:ArrayCollection = new ArrayCollection(); 
     var array2:ArrayCollection = new ArrayCollection(); 
     var array3:ArrayCollection = new ArrayCollection(array1.source); 
     for(var i:int;i<array2.length;i++){ 
      if (!(array3.contains(array2.getItemAt(i)))) 
       array3.addItem(array2); 

     } 

这是最简单的算法,适用于不那么大的列表。 contains方法将检查对象引用,如果通过查看对象属性来定义重复项,则应使用自定义方法。

0

如果2个ArrayCollections可能包含完全相同的对象,这将是

if (acDestination.getItemIndex(acSource[i]) == -1) 
// add to the destination 

如果对象是不完全一样的,但要避免重复值键字段,请在目标ArrayCollection上尝试一个过滤器函数。

相关问题