Stosuję mapę do słownika, który zawiera w sobie try
. Chciałbym pominąć iterację, jeśli odwzorowany element jest nieprawidłowy.Pomiń element podczas wykonywania mapy w Swift?
Na przykład:
func doSomething<T: MyType>() -> [T]
dictionaries.map({
try? anotherFunc($0) // Want to keep non-optionals in array, how to skip?
})
}
W powyższej próbie, jeśli anotherFunc
zwrotów nil
, jak uciec bieżącej iteracji i przejść do następnego? W ten sposób nie będzie zawierać elementów, które są nil
. czy to możliwe?
Dziękuję za umożliwienie mi odkrycia 'flatMap'! Właśnie zauważyłem, że to nie działa ze słownikami. – TruMan1
@ TruMan1: Jestem pewien, że tak. Zarówno 'map' jak i' flatMap' można zastosować do słownika. Zamknięcie jest wywoływane z kluczem/wartością jako argumenty. –
Masz rację, przepraszam, jeszcze raz !! – TruMan1