Ole*_*nko 1 apache-flex actionscript-3
我正在寻找一种方法来交叉我的数组集合.
我有一个集合:allItems和另一个subSet.我想创建另一个ArrayCollection,其中将存储subSet中不存在的所有项.有没有办法做到这一点?
eemeli提供的工作答案...这里是针对速度优化的替代实现(数组访问而不是调用)和可伸缩性(方法提供O(m + n)而不是O(m*n))...
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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3473 次 |
| 最近记录: |