Collection.removeItem()

可用性

Flash Player 7。

版本

Flash MX Professional 2004。

用法

collection.removeItem(item)

参数

item 要从集合中删除的对象。

返回

一个布尔值,如果成功删除了 item,则该值为 true

描述

方法;从集合中删除指定项目。由于 Collection.removeItem() 动态地减小集合的大小,因此循环访问迭代器时不要调用此方法。

示例

以下示例调用 removeItem()

var myColl:mx.utils.Collection;
myColl = _parent.thisShelf.MyCompactDiscs;

// 从一个文本输入框获取此值
var removeArtist:String = _parent.tArtistToRemove.text;
var removeSize:Number = 0;

if (myColl.isEmpty()) {
    trace("No CDs in the collection");
} 
else {
    var toRemove:Array = new Array();
    var itr:mx.utils.Iterator = myColl.getIterator();
    var cd:CompactDisc = new CompactDisc();
    var title:String = "";
    var artist:String = "";
    while (itr.hasNext()) {
        cd = CompactDisc(itr.next());
        title = cd.Title;
        artist = cd.Artist;
        if(artist == removeArtist) {
            // 标记此艺术家以便删除
            removeSize = toRemove.push(cd);
            trace("*** Marked for deletion: " + artist + "|" + title);
        }
    }
    // 在 while 循环后删除错误的项
    var removeCD:CompactDisc = new CompactDisc();
    for(i = 0; i < removeSize; i++) {
        removeCD = toRemove[i];
        trace("Removing: " + removeCD.Artist + "|" + removeCD.Title);
        myColl.removeItem(removeCD);
    }
}