Intern
Коя е любимата ви функция в езика Swift?
sobes.tech AI
Отговор от AI
Моята любима функция е flatMap за колекции.
Тя позволява преобразуване на колекция, съдържаща опционални стойности или вложени колекции, в плоска колекция, като игнорира nil или обединява вложените елементи.
Пример с опционални:
// Масив от низове, някои от които могат да бъдат nil
let strings: [String?] = ["Hello", nil, "World", nil, "Swift"]
// Използваме flatMap за премахване на nil и получаване на масив от не-опционални низове
let nonNilStrings = strings.flatMap { $0 }
// nonNilStrings сега е ["Hello", "World", "Swift"]
Пример с вложени колекции:
// Масив от масиви от числа
let nestedArrays = [[1, 2], [3, 4, 5], [6]]
// Използваме flatMap за създаване на един плосък масив
let flatArray = nestedArrays.flatMap { $0 }
// flatArray сега е [1, 2, 3, 4, 5, 6]
flatMap прави кода по-чист и изразителен при работа с такива структури от данни, като елиминира необходимостта от писане на сложни цикли или използване на compactMap.