例如我有一个数组
var array = [1, 2, 3, 4]
我想删除索引1处的项目,然后删除索引3"让它处于for循环中#34;。
但是删除索引1处的项目会将索引3处的项目移动到索引2,从而弄乱第二次删除。
有什么建议吗?
答案 0 :(得分:22)
给出你的阵列
var numbers = [1, 2, 3, 4]
和要删除的Set
个索引
let indexesToRemove: Set = [1, 3]
您想要删除值“2”和“4”。
只需写下
numbers = numbers
.enumerated()
.filter { !indexesToRemove.contains($0.offset) }
.map { $0.element }
<强>结果强>
print(numbers) // [1, 3]
答案 1 :(得分:9)
很简单。从最后删除项目。
首先删除3,然后删除1
答案 2 :(得分:0)
Swift 3:使用swift闭包执行相同的操作。
如果你的数组是
RemoteSigned
和您要删除的索引
-ExecutionPolicy Bypass
打印(数字)// [0,1,3,5]
斯威夫特3: 这与JSON Object(字典)
的操作相同var numbers = [0, 1, 2, 3, 4, 5]
[[“char”:“Z”],[“char”:“W”],[“char”:“U”],[“name”:“T”],[“name”: “S”]]