Intern
Mi a kedvenc funkciód a Swift nyelvben?
sobes.tech MI
Válasz az MI-től
A kedvenc funkcióm a flatMap gyűjteményekhez.
Lehetővé teszi, hogy egy olyan gyűjteményt alakítsunk át, amely opcionális értékeket vagy beágyazott gyűjteményeket tartalmaz, egy sík gyűjteménnyé, figyelmen kívül hagyva a nil-eket vagy összefogva a beágyazott elemeket.
Opcionalokkal például:
// Stringek tömbje, amelyek közül néhány lehet nil
let strings: [String?] = ["Hello", nil, "World", nil, "Swift"]
// flatMap használata a nil-ek eltávolítására és nem opcionális stringek tömbjének létrehozására
let nonNilStrings = strings.flatMap { $0 }
// nonNilStrings most ["Hello", "World", "Swift"]
Beágyazott gyűjteményekkel például:
// Számok tömbjeinek tömbje
let nestedArrays = [[1, 2], [3, 4, 5], [6]]
// flatMap használata egyetlen sík tömb létrehozásához
let flatArray = nestedArrays.flatMap { $0 }
// most flatArray [1, 2, 3, 4, 5, 6]
A flatMap tisztábbá és kifejezőbbé teszi a kódot ilyen adatszerkezetek esetén, kiküszöbölve a bonyolult ciklusok írásának szükségességét vagy a compactMap használatát.