Sobes.tech
Junior — Middle

Kolleksiyalarni qayta ishlashda map va compactMap metodlaridan foydalanish qanday farq qiladi?

sobes.tech AI

AIdan javob

map va compactMap metodlari kolleksiyaning elementlarini o'zgartirish uchun ishlatiladi, ammo ular optional qiymatlarni qanday boshqarishlariga ko'ra farq qiladi.

  • map barcha elementlarga funksiya qo'llaydi va natijalar bilan massivni qaytaradi, agar funksiya optional qaytaradigan bo'lsa, nil ham kiritiladi.
  • compactMap funksiyani qo'llaydi va avtomatik ravishda barcha nil qiymatlarni tashlab yuboradi, faqat nil bo'lmagan elementlar bilan massivni qaytaradi.

Misol:

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

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

// compactMap [Int] qaytaradi va nil'larni tashlab yuboradi
let compactMapped = numbers.compactMap { Int($0) } // [1, 2, 4]

Noto'g'ri yoki yo'qolgan qiymatlarni o'zgartirish va bir vaqtning o'zida ularni olib tashlash uchun compactMap dan foydalaning.