所以我有一个Int数组,我正在尝试创建一个从数组中删除某个值的函数。但是,removeAtIndex()函数仅删除第一个匹配项,removeLast()仅删除最后一个匹配项。我尝试枚举数组,但最终我得到一个数组索引超出范围错误,可能是由于从数组中删除项目时发生的重新转换。
for (index, value) in connectionTypeIDs.enumerate() {
if (value == connectionTypeToDelete){
connectionTypeIDs.removeAtIndex(index)
}
}
关于如何实现这一目标的任何想法?
答案 0 :(得分:10)
最快的方法是使用过滤器。我不知道是回答你的问题,但你可以看一下:
// remove 1 from array
arr = arr.filter{$0 != 1}