map function in Swift converting String to Int? -



map function in Swift converting String to Int? -

let digitnames = [ 0: "zero", 1: "one", 2: "two", 3: "three", 4: "four", 5: "five", 6: "six", 7: "seven", 8: "eight", 9: "nine" ] allow numbers = [16, 58, 510] allow strings = numbers.map { (var number) -> string in var output = "" while number > 0 { output = digitnames[number % 10]! + output number /= 10 } homecoming output } // strings inferred of type [string] // value ["onesix", "fiveeight", "fiveonezero"]

i hoping if there explain how code works (it taken apple's developer page swift under "closures). i'm not sure code in "while" loop means :/ how number converted string?

map function higher order level function , used operation on single elements of array , homecoming transformed array generated after operations.

numbers.map traverse each element of array , transform elements doing operation , returned transformed array .

output = digitnames[number % 10]! + output

1) first element in array 16 in first iteration of while loop number % 10 homecoming 6 reminder of 16 after dividing 10 digitname[6] assign output six

let strings = numbers.map { (var number) -> string in var output = "" while number > 0 { output = digitnames[number % 10]! + output //16 number /= 10 } homecoming output }

2) divides number 10 , give 1 number 1

3) while number > 0 { checks if number greater 0 yes 1

4) 1 time again iterate time digitnames[number % 10]! homecoming one , appending previous output become one append output(which six).so onesix

your first element become onesix.this done each element , after elements map homecoming string array.so string become

["onesix", "fiveeight", "fiveonezero"]

swift map

Comments

Popular posts from this blog

formatting - SAS SQL Datepart function returning odd values -

c++ - Apple Mach-O Linker Error(Duplicate Symbols For Architecture armv7) -

php - Yii 2: Unable to find a class into the extension 'yii2-admin' -