计算Dict(Swift)中部分键值的出现次数

时间:2016-11-11 13:51:17

标签: swift dictionary

假设我有一个包含以下值和键的dict

let dict = ["Foo" : 1,
            "FooBar" : 2,
            "Bar" : 3,
            "BarBar" : 4,
            "FooFoo" : 5 ]

我的问题是: -

如何计算包含或部分包含密钥字符串的KEY的出现次数" Foo"

结果应为3(" Foo"," FooBar"," FooFoo")

我正在考虑的一个方向是使用

print( dict.keys .contains("Foo"))

这当然会返回真实

print( dict.keys .contains("Fo"))

实际上它会返回一个错误的值" Fo"发生3次,但仅作为部分关键名称。

希望这是有道理的:F

因此,我如何计算给定字典中的par键名称出现次数

2 个答案:

答案 0 :(得分:2)

您需要filter键,然后计算

let arr = dict.keys.filter{ $0.contains("Fo") }
print(arr.count)

答案 1 :(得分:1)

这是一个直截了当的方式:

dict.filter{ $0.key.contains("Foo") }.count

我们将所有包含"Foo"的键留在字典中并计算剩余的KVP数量!