【问题标题】:How to remove element from array A that are also in array B in Actionscript 3.0?如何从 Actionscript 3.0 中的数组 B 中的数组 A 中删除元素?
【发布时间】:2019-09-06 11:05:25
【问题描述】:

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

【问题讨论】:

    标签: actionscript-3 actionscript


    【解决方案1】:

    据我了解,您正在尝试从数组 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);
        }
    }
    

    【讨论】:

      【解决方案2】:

      这有效地删除了 Array B 中碰巧出现在 Array A 中的每个元素;

      for each (var anItem:Object in B)
      {
          var anIndex:int;
      
          do
          {
              anIndex = A.indexOf(anItem);
              A.splice(anIndex, 1);
          }
          while (anIndex > -1);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-28
        • 1970-01-01
        • 2014-05-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多