Junior — Middle
Коллекциялар менен иштөөдө map жана compactMap ыкмаларын колдонуу эмнеге айырмаланат?
sobes.tech AI
AIден жооп
map жана compactMap ыкмалары коллекциянын элементтерин өзгөртүү үчүн колдонулат, бирок алар опционалдуу маанилер менен иштөөдө айырмаланат.
mapбардык элементдерге функцияны колдонуп, натыйжалардын массивин кайтарат, анын ичинде функция опционалдуу маанини кайтарса да.compactMapфункцияны колдонуп, автоматтык түрдө бардыкnilмаанилерди четке кагып, ганаnilэмес элементтерден турган массивди кайтарат.
Мисал:
let numbers = ["1", "2", "three", "4"]
// map [Int?] кайтарат
let mapped = numbers.map { Int($0) } // [1, 2, nil, 4]
// compactMap [Int], nil-дерди четке кагып
let compactMapped = numbers.compactMap { Int($0) } // [1, 2, 4]
compactMap колдонуу керек, эгер сиз өзгөртүүнү каалап жатсаңыз жана бир эле учурда жараксыз же жетишпеген маанилерди жокко чыгаргыңыз келсе.