删除Swift Array中出现的所有值

ard*_*evd 5 arrays swift

所以我有一个Int的数组,我正在尝试创建一个从数组中删除某个值的函数.但是,removeAtIndex()函数仅删除第一个匹配项,removeLast()仅删除最后一个匹配项.我尝试枚举数组,但我最终得到一个数组索引超出范围错误,可能是由于从数组中删除项目时发生的重新转换.

  for (index, value) in connectionTypeIDs.enumerate() {
            if (value == connectionTypeToDelete){
                connectionTypeIDs.removeAtIndex(index)
            }
        }
Run Code Online (Sandbox Code Playgroud)

有关如何实现这一目标的任何想法?

Gre*_*reg 11

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

// remove 1 from array
arr = arr.filter{$0 != 1}
Run Code Online (Sandbox Code Playgroud)