Ich bin auf der Suche nach einer eleganten (funktionalen) Methode zum Filtern eines Wörterbuchs basierend auf dem Paarwerttyp, wenn alle Werte nicht vom selben Typ sind. I.e. ein Weg von [AnyHashable : Any]
zu [AnyHashable : T]
zu gehen?Wie würden Sie ein schnelles Wörterbuch auf seinen Werttyp filtern?
Mit flatMap
gibt Ihnen eine Reihe von Tupeln, die reduziert werden könnten:
var result = dictionary.flatMap({ pair in
pair as? (AnyHashable, T)
}).reduce([AnyHashable : T]()) { dict, tuple in
var dict = dict
dict[tuple.0] = tuple.1
return dict
}
Aber ich bin nicht zufrieden mit dieser Implementierung ... sind Sie?