рабочий ответ, предоставленный eemeli ... вот альтернативная реализация, оптимизированная для скорости (доступ к массиву вместо вызовов) и масштабируемости (подход обеспечивает O (m + n) вместо O (m * n)) ... 1001 *
public static function difference(a:ArrayCollection, b:ArrayCollection):ArrayCollection {
var entry:*, map:Dictionary = new Dictionary(), intersection:Array = [];
for each (entry in a.source) map[entry] = entry;
for each (entry in b.source) delete map[entry];
for each (entry in map) intersection.push(entry);
return new ArrayCollection(intersection);
}