2016-06-20 8 views
0

Ich experimentiere mit ein wenig Code, das ist was ich will: Ich möchte die Schlüssel aus einem Wörterbuch aber nur drucken, wenn diese Schlüssel einen Wert von mehr als 10 haben mein Code:Wie einige Tasten aus einem Wörterbuch drucken Swift

var alumnos = ["jose": 20, "leo": 56, "hadad": 8] 

In diesem Fall nur "Jose" und "leo" haben gedruckt werden, weil ihre Werte sind mehr als 10.

Antwort

0

haben Sie so etwas wie dies versucht:

for (key, value) in alumnos { 
    if value > 10 { 
     print(key) 
    } 
} 

Sie können auch drehen es in eine Funktion wie folgt:

func printKeyForValueGreaterThan10<T: Hashable>(dict: [T: Int]) { 
    for (key, value) in dict { 
    if value > 10 { 
     print(key) 
    } 
    } 
} 

Und nennen Sie es, indem Sie Ihr Wörterbuch übergeben.

printKeyForValueGreaterThan10(dict: alumnos) 
0

Sie können die Schlüssel von Interesse mit Funktionen höherer Ebene erhalten:

let keysOfValuesAboveTen = alumnos.filter {$0.1 > 10}.map {$0.0} 

Sie einen String mit einem Separator aus es so machen kann:

let str = alumnos.filter {$0.1 > 10}.map {$0.0}.joinWithSeparator(", ") 
0

Dies ist einfachste Art, dieses Problem zu lösen:

for (stringKey, intValue) in alumnos { if intValue > 10 { print(stringKey) } }

Verwandte Themen