作者:我是小白我有不烦的梦想 | 来源:互联网 | 2023-05-27 16:08
如何计算数组中唯一项的数量?
例:
let array:Array = [1,3,2,4,6,1,3,2]
计数功能:
array.count
将给出8
但我想要计算独特的项目,这将给5
1> vacawama..:
从Swift 1.2开始,Swift有一个原生Set
类型.使用Set
构造函数从数组中创建一个集合,然后该count
属性将告诉您有多少个唯一项目:
let array = [1,3,2,4,6,1,3,2]
let set = Set(array)
print(set.count) // prints "5"
对于Swift 1.1及更早版本:
把你的阵列变成NSSet
:
let array = [1,3,2,4,6,1,3,2]
let set = NSSet(array: array)
println(set.count) // prints "5"
你可以在这里阅读更多相关信息.
如果您对每件商品的数量感兴趣,可以使用字典来计算商品:
var counts = [Int:Int]()
for item in array {
counts[item] = (counts[item] ?? 0) + 1
}
print(counts) // prints "[6: 1, 2: 2, 3: 2, 1: 2, 4: 1]"
print(counts.count) // prints "5"
print("There are \(counts[1] ?? 0) ones.") // prints "There are 2 ones."
print("There are \(counts[7] ?? 0) sevens.") // prints "There are 0 sevens."
2> HAS..:
您可以使用NSSet丢弃重复项:
let array:Array = [1,3,2,4,6,1,3,2]
let count = NSSet(array: array).count
println(count)
这打印:
五