Pan*_*kil 3 duplicates nsmutablearray ios swift
var arrEmails = NSMutableArray()
arrEmails = ["a.a@gmail.com", "a.a1@gmail.com", "a.a@gmail.com", "b.b@gmail.com", "c.c@gmail.com", "a.a1@gmail.com"]
Run Code Online (Sandbox Code Playgroud)
上面是我的数组,我想检查是否有任何重复的值。为此,我写了下面的代码。
let set = NSCountedSet.init(array: arrEmails as! [Any])
var duplicates: Int = 0
for var object in set {
if set.count(for: object) > 1 {
duplicates = duplicates+1
}
}
Run Code Online (Sandbox Code Playgroud)
但在上面的代码中,如果数组包含如下值,则返回重复值 1。
arrEmails = ["a.a@gmail.com", "", "", "b.b@gmail.com", "", ""]
Run Code Online (Sandbox Code Playgroud)
我不想删除重复值,我只想检查数组中重复值的数量。怎么查?请帮帮我。
首先停止使用
NSMutableArray和使用 Swift 数组。
所以你有这个数组
let emails = ["a.a@gmail.com", "a.a1@gmail.com", "a.a@gmail.com", "b.b@gmail.com", "c.c@gmail.com", "a.a1@gmail.com"]
Run Code Online (Sandbox Code Playgroud)
现在你可以简单地检查是否有重复
let hasDuplicates = emails.count != Set(emails).count
Run Code Online (Sandbox Code Playgroud)
请注意,这仅在数组的泛型类型为
Hashable.
| 归档时间: |
|
| 查看次数: |
4706 次 |
| 最近记录: |