首页 > 解决方案 > 如何从 Actionscript 3.0 中的数组 B 中的数组 A 中删除元素?

问题描述

假设我有包含对象的数组 A 和数组 B。如何从数组 A 中“清理”B 中也存在的元素。也就是说,我需要删除 A 中也存在于 B 中的所有元素。

标签: actionscript-3actionscript

解决方案


据我了解,您正试图从数组 A 中删除 B 中存在的所有类似项目?

for (var i:uint = 0; i < arrayB.length; i++) {
    arrayA.splice(arrayA.indexOf(arrayB[i]), 1);
}

请注意,这只会删除 arrayA 中的每个项目之一。如果 arrayA 中有多个相同的实例存在于 arrayB 中,则只会删除一个。对于多个相同实例,请改用:

for (var i:uint = 0; i < arrayB.length; i++) {
    while(arrayA.indexOf(arrayB[i]) >= 0) {
        arrayA.splice(arrayA.indexOf(arrayB[i]), 1);
    }
}

推荐阅读