Swift for-in loop dictionary experiment Swift for-in loop dictionary experiment swift swift

Swift for-in loop dictionary experiment


They're just asking you to keep track of which number category the largest number belongs to:

let interestingNumbers = [    "Prime": [2, 3, 5, 7, 11, 13],    "Fibonacci": [1, 1, 2, 3, 5, 8],    "Square": [1, 4, 9, 16, 25],]var largest = 0var largestkind = ""for (kind, numbers) in interestingNumbers {    for number in numbers {        if number > largest {            largest = number            largestkind = kind        }    }}largestlargestkind


Alternately you can use closure to make the tasks simpler.

The for loop calculate the sum of each series.

The final reduce finds the series tuple that contains maximum number.

let interestingNumbers = [    "Prime": [2, 3, 5, 7, 11, 13],    "Fibonacci": [1, 1, 2, 3, 5, 8],    "Square": [1, 4, 9, 16, 25],]var sums =  Array<(String, Int)>()for (kind, numbers) in interestingNumbers {    sums = sums + [(kind, numbers.reduce(0, +))]}let maxSeries = sums.reduce(("", Int.min), { $0.1 > $1.1 ? $0 : $1 })println(sums)println(maxSeries)


Here it from playground using Xcode 8.3 and Swift 3.0

let interestingNumbers = ["Prime": [2, 3, 5, 7, 11, 13],"Fibonacci": [1, 1, 2, 3, 5, 8],"Square": [1, 4, 9, 16, 25],]let largest = interestingNumbers.map{$0.value}.flatMap{$0}.max()print(largest)

Optional(25)