Gleb
Gleb

Reputation: 31

How To Map An Array [Swift]

I have an array named bonusCardsTest of type [BonusCard] that is conformed to Identifiable that has an id and an url property of type String.

var bonusCardsTest: [BonusCard] = []

struct BonusCard: Identifiable {
    var id = UUID().uuidString
    var url: String
}

I also have an array named getBonusURLsArray of type [String] that contains urls.

What I want is to assign each element of getBonusURLsArray to the url property of bonusCardsTest. For example, if getBonusURLsArray has two elements - "https://test1.com", "https://test2.com", I want the BonusCard array to look like this:

var bonusCardsTest: [BonusCard] = [
BonusCard(url: "https:test1.com"),
BonusCard(url: "https:test2.com"),
]

How do I do that?

Upvotes: 0

Views: 935

Answers (1)

Duncan C
Duncan C

Reputation: 131418

As Larme says, you could map your array of URLs to BonusCards:

let bonusCards = getBonusURLsArray.map { BonusCard(url: $0) }

Upvotes: 2

Related Questions