在Swift数组中删除所有值的出现

5

我有一个整数数组,想要创建一个函数从数组中删除某个特定的值。然而,removeAtIndex() 函数只能删除第一次出现的值,removeLast() 只能删除最后一个值。我尝试通过枚举数组来解决问题,但最终遇到了“Array index out of range”错误,可能是由于在从数组中删除项时发生了重新排列。

  for (index, value) in connectionTypeIDs.enumerate() {
            if (value == connectionTypeToDelete){
                connectionTypeIDs.removeAtIndex(index)
            }
        }

有没有关于如何实现这个的想法?
1个回答

12

最快的方法是使用过滤器。我不知道这是否回答了你的问题,但你可以看一下这个:

// remove 1 from array
arr = arr.filter{$0 != 1}

在Swift中,您可以在枚举期间改变数组。问题是索引不再匹配。 - Martin R
@MartinR 谢谢,我不知道那个。我更新了我的答案。 - Greg
那似乎很有效!谢谢! :) - ardevd
很酷。谢谢。 - Seifolahi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接