2016-11-11 3 views
0

Disons que j'ai un dict contenant les valeurs et les clés suivantesoccurrences Nombre de valeur de clé partie à Dict (Swift)

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

Ma question est: -

Comment peut-on compter les occurrences du KEY contenant ou en partie contenant la chaîne clé "Foo"

le résultat devrait être 3 ("Foo", "foobar", "foufou")

une direction que je suis à la recherche à l'aide est

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

Bien sûr retourne vrai

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

Il renvoie une valeur fausse quand, en réalité, « Fo » se produit 3 fois, mais seulement comme une partie nom de la clé.

Espérant qui fait sens: F

donc à nouveau comment puis-je compter les occurrences de nom clé pair dans un dictionnaire donné

Répondre

2

Vous devez filter les clés, puis les compter

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

merci pour votre réponse rapide – Tom

1

Une façon simple est la suivante:

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

Nous laissons tous les touches qui conatins "Foo" dans le dictionnaire et compte le nombre de KVPs à gauche!

+0

merci pour votre réponse rapide – Tom