How to count a number of time in array there are "Yes" ? In swift
["julien: Yes","elie: Yes", "Mark: No", "Jean: Yes"]
For exemple here there are 3 times Thanks ;)
How to count a number of time in array there are "Yes" ? In swift
["julien: Yes","elie: Yes", "Mark: No", "Jean: Yes"]
For exemple here there are 3 times Thanks ;)
How about something like this?
//: Playground - noun: a place where people can play
import UIKit
let array = ["julien: Yes","elie: Yes", "Mark: No", "Jean: Yes"]
let results = array.map({ $0.lowercaseString.containsString("yes") })
let count = results.filter({ $0 == true }).count
count // 3
You can also make it a one liner:
let count = array.filter({ $0.lowercaseString.containsString("yes") }).count
Note: I also added a check for case sensitivity just incase the data source was inconsistent
let a = ["julien: Yes","elie: Yes", "Mark: No", "Jean: Yes"]
let filtered = a.filter { (str) -> Bool in
return str.containsString("Yes")
}
print(filtered.count)
let array = ["julien: Yes","elie: Yes", "Mark: No", "Jean: Yes"]
let count = array.reduce(0) { $0 + ($1.containsString("Yes") ? 1 : 0) }
count // 3
You can use NSPredicate to get required output like below
var arrayTemp = NSMutableArray(objects: "julien: Yes","elie: YES", "elie: NO", "Jean: Yes")
var predicate = NSPredicate(format: "self contains[cd] %@", "Yes")
arrayTemp.filterUsingPredicate(predicate)
print("COUNT===\(arrayTemp.count)")// 3