I am trying to check if a specific item (value of a property) exists in a array of objects, but could not find out any solution. Please let me know, what i am missing here.
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")
}
A small iteration on @Antonio's solution using the
,
(where
) notation:I went with this solution to similar problem. Using contains returns a Boolean value.
This works fine with me:
signature:
example:
You can filter the array like this:
that will return an array of elements matching the condition specified in the closure - in the above case, it will return an array containing all elements having the
id
property equal to 1.Since you need a boolean result, just do a check like:
exists
will be true if the filtered array has at least one elementIn Swift 3: