例如,我有一个数组
var array = [1, 2, 3, 4]
我想删除索引1处的项,然后在索引3处“让它在for循环中”。但是删除索引1处的项会将索引3处的项移动到索引2,从而打乱第二次删除。有什么建议吗?
9jyewag01#
根据您的数组
var numbers = [1, 2, 3, 4]
和要删除的Set个索引
Set
let indexesToRemove: Set = [1, 3]
您要删除值“2”和“4”。就写
numbers = numbers .enumerated() .filter { !indexesToRemove.contains($0.offset) } .map { $0.element }
结果
print(numbers) // [1, 3]
hpcdzsge2#
很简单,从最后删除项目.首先删除3,然后删除1
6tdlim6h3#
**Swift 3:**使用swift闭包执行相同的操作。
如果您的数组类似于
var numbers = [0, 1, 2, 3, 4, 5]
和索引
let indexesToBeRemoved: Set = [2, 4] numbers = numbers .enumerated() .filter { !indexesToRemove.contains($0.offset) } .map { $0.element } and result
打印(数字)// [0,1,3,5]
**Swift 3:**这是JSON对象(字典)的相同操作
var arrayString = [ [ "char" : "Z" ], [ "char" : "Y" ], [ "char" : "X" ], [ "char" : "W" ], [ "char" : "V" ], [ "char" : "U" ], [ "char" : "T" ], [ "char" : "S" ] ] let arrayIndex = [2, 3, 5] arrayString = arrayString.enumerated() .filter { !arrayIndex.contains($0.0 + 1) } .map { $0.1 } print(arrayString)
[[“字符”:“Z”],[“字符”:“W”],[“字符”:“U”],[“名称”:“T”],[“名称”:“S”]]
3条答案
按热度按时间9jyewag01#
根据您的数组
和要删除的
Set
个索引您要删除值“2”和“4”。
就写
结果
hpcdzsge2#
很简单,从最后删除项目.
首先删除3,然后删除1
6tdlim6h3#
**Swift 3:**使用swift闭包执行相同的操作。
如果您的数组类似于
和索引
打印(数字)// [0,1,3,5]
**Swift 3:**这是JSON对象(字典)的相同操作
[[“字符”:“Z”],[“字符”:“W”],[“字符”:“U”],[“名称”:“T”],[“名称”:“S”]]