Post

5 formas de utilizar map

Map es una poderosa herramienta que permite transformar cada elemento de una colección mediante una función o un closure.

Tienes aquí 5 formas de utilizar map

Pasando una función que recibe un parámetro y devuelve un parámetro

var nameView: String { name.map(removeSymbols) ?? "No Name" }

Desempaquetando un opcional

var detailsView: String { details.map { $0 } ?? "No Details" }

 A partir de un rango 

static var previewSamples: [Avatar] = (0..<5).map { 
   Avatar(type:AvatarType.allCases.randomElement()!, 
           name: "Avatar Name \($0)", 
           details: nil,
           imageName: "imageName_\($0)") 
   }
 }

A partir de una propiedad del struct

let avatarsNames:[String] = favoritesAvatars.map(\.imageName)

Y también tenemos un map para diccionarios

let avatarTypePercentages = typeCount.mapValues { count -> Double in
    Double(count) / Double(typeCount.count)
    }