コレクションを空にして、各アイテムを順番に削除する必要があります。
this.nodes.each(function(node){
this.nodes.remove(node);
}, this);
各ノードが削除されるとコレクションの長さが変わるため、機能しません。一時配列を作成し、それを反復処理すると機能します。もっと良い方法はありますか?
コレクションを空にして、各アイテムを順番に削除する必要があります。
this.nodes.each(function(node){
this.nodes.remove(node);
}, this);
各ノードが削除されるとコレクションの長さが変わるため、機能しません。一時配列を作成し、それを反復処理すると機能します。もっと良い方法はありますか?
イベント this.nodes.reset()
が必要でない限り試してください。remove
さもないと:
var nodes = this.nodes;
while (nodes.length > 0)
nodes.remove(nodes.at(0));
反復中にコレクションを変更する必要がある場合は、次のfor
ような単純な逆方向を使用して行います。
var count = collection.size();
for (var i = count-1; i > -1; i--) {
collection.remove(collection.at(i));
}