微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

您可以像这样过滤数组:

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

它将返回匹配闭包中指定条件的元素数组-在上述情况下,它将返回包含所有id属性等于1的元素的数组。

由于您需要布尔结果,因此只需执行以下检查:

let exists = results.isEmpty == false

exists 如果过滤后的数组至少包含一个元素,则为true

解决方法

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

        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")
        }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。