Sobes.tech
Junior — Middle

Mi a különbség a map és a compactMap módszerek használata között kollekciók feldolgozásakor?

sobes.tech MI

Válasz az MI-től

A map és compactMap módszerek kollekciók elemeinek átalakítására szolgálnak, de különböznek abban, hogyan kezelik az opcionális értékeket.

  • A map minden elemre alkalmaz egy függvényt, és eredményként egy tömböt ad vissza, beleértve a nil-t is, ha a függvény opcionális értéket ad vissza.
  • A compactMap alkalmazza a függvényt, és automatikusan elveti az összes nil értéket, csak a nem-nil elemekből álló tömböt adva vissza.

Példa:

let numbers = ["1", "2", "three", "4"]

// map [Int?] eredményt ad
let mapped = numbers.map { Int($0) } // [1, 2, nil, 4]

// compactMap [Int], amely elveti a nil értékeket
let compactMapped = numbers.compactMap { Int($0) } // [1, 2, 4]

Használja a compactMap-et, amikor átalakítást szeretne végrehajtani, miközben eltávolítja az érvénytelen vagy hiányzó értékeket.