Collections ยท SWIFT RECIPE

Transform an array

Transform every element, or discard nil results.

main.swift
let names = ["swift", "foundation"]
print(names.map { $0.uppercased() })
let input = ["12", "oops", "7"]
print(input.compactMap { Int($0) })

How it works

map keeps the element count. compactMap transforms each element and drops nil results. This is useful for optional parsing, but can hide invalid input.

EXPECTED OUTPUT
["SWIFT", "FOUNDATION"]
[12, 7]

Keep in mind

Track invalid inputs separately when validation failures matter.

Read the Swift language reference