Premesis: 一致する値を持つオブジェクトを含む 2 つの arraycollections で ActionScript を使用しています...
これに対する解決策が必要です (フレームワークにそれをより適切に実行するライブラリがある場合)。
要素 A と B の 2 つのリスト (重複する値はありません) があり、それらを比較して、両方に存在するすべての要素を削除する必要があるとします。
- A にあるが B にはないすべての要素
- B には B にあるが A にはないすべての要素
今私はそのようなことをします:
for (var i:int = 0 ; i < a.length ;)
{
var isFound:Boolean = false;
for (var j:int = 0 ; j < b.length ;)
{
if (a.getItemAt(i).nome == b.getItemAt(j).nome)
{
isFound = true;
a.removeItemAt(i);
b.removeItemAt(j);
break;
}
j++;
}
if (!isFound)
i++;
}
両方の配列をサイクルし、一致が見つかった場合は、両方の配列からアイテムを削除します (ループ値を増加させないで、for
サイクルが正しい方法で進行するようにします)
それを行うためのより良い(そしてCPUの消費量が少ない)方法があるかどうか(そして確かにあると思います)、私は疑問に思っていました...