ios - Swift 中根据属性删除数组对象

标签 ios arrays swift

我有一个像这样的自定义数组,我想删除学生 ID 为 4 的元素

var strNames = [Student(id: 1, name: "ghj"), Student(id: 4, name: "def"), Student(id: 9, name: "bkl")]

以经典的方式,我确实喜欢这样。有人可以帮我用 Swift 方式映射吗?

 var sArray2: [Student] = []
    for item in strNames {
        if item.id != 4 {
            sArray2.append(Student(id: item.id, name: item.name))
        }
    }
strNames = sArray2

最佳答案

您可以使用RangeReplaceableCollection变异方法:

mutating func removeAll(where shouldBeRemoved: (Element) throws -> Bool) rethrows

就您而言:

strNames.removeAll { $0.id == 4 }

关于ios - Swift 中根据属性删除数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63982507/

相关文章:

ios - 架构 x86_64 iOS Swift 的重复符号

ios - Swift 3 仅在设备上调试时含糊不清地使用下标

swift - 让用户选择按钮具有哪个图像?

ios - Microsoft Surface与Iphone配对

ios - Swift 委托(delegate)和协议(protocol)方法不在 iOS 中调用

arrays - 将字符串数组转换为 Int 数组 Swift 2?

javascript - 格式化 JSON,使用 vanilla js 按 key 组排序

ios - 适用于 iOS 的 Cordova 构建 - 未找到配置文件

iphone - float* array 到 NSArray, iOS

c - n 个大小的 C 数组的第 n 个索引是否包含它的大小?