gpt4 book ai didi

swift - 如何快速检查对象数组中是否存在属性值

转载 作者:IT王子 更新时间:2023-10-29 05:02:06 25 4
gpt4 key购买 nike

我正在尝试检查对象数组中是否存在特定项目(属性值),但找不到任何解决方案。请让我知道,我在这里缺少什么。

        class Name {
var id : Int
var name : String
init(id:Int, name:String){
self.id = id
self.name = name
}
}

var objarray = [Name]()
objarray.append(Name(id: 1, name: "Nuibb"))
objarray.append(Name(id: 2, name: "Smith"))
objarray.append(Name(id: 3, name: "Pollock"))
objarray.append(Name(id: 4, name: "James"))
objarray.append(Name(id: 5, name: "Farni"))
objarray.append(Name(id: 6, name: "Kuni"))

if contains(objarray["id"], 1) {
println("1 exists in the array")
}else{
println("1 does not exists in the array")
}

最佳答案

你可以像这样过滤数组:

let results = objarray.filter { $0.id == 1 }

这将返回一个与闭包中指定的条件匹配的元素数组 - 在上面的例子中,它将返回一个包含所有 id 属性等于 1 的元素的数组。

由于您需要一个 bool 结果,只需进行如下检查:

let exists = results.isEmpty == false

exists 如果过滤后的数组至少有一个元素则为真

关于swift - 如何快速检查对象数组中是否存在属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28211160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com