// Swift's closure
// https://d...content-available-to-author-only...e.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Closures.html
digitNames = {
"0": "Zero", "1": "One", "2": "Two", "3": "Three", "4": "Four",
"5": "Five", "6": "Six", "7": "Seven", "8": "Eight", "9": "Nine"
}
numbers = [16, 58, 510]
strings = numbers.map(function(number) {
output = ""
while (number > 0) {
output = digitNames[(number % 10).toString()] + output
number = Math.floor(number / 10)
}
return output
})
for (i = 0; i < strings.length; i++) {
print(strings[i])
}
Ly8gU3dpZnQncyBjbG9zdXJlCi8vICBodHRwczovL2QuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmUuY29tL2xpYnJhcnkvaW9zL2RvY3VtZW50YXRpb24vU3dpZnQvQ29uY2VwdHVhbC9Td2lmdF9Qcm9ncmFtbWluZ19MYW5ndWFnZS9DbG9zdXJlcy5odG1sCgoKZGlnaXROYW1lcyA9IHsKICAgICIwIjogIlplcm8iLCAiMSI6ICJPbmUiLCAiMiI6ICJUd28iLCAgICIzIjogIlRocmVlIiwgIjQiOiAiRm91ciIsCiAgICAiNSI6ICJGaXZlIiwgIjYiOiAiU2l4IiwgIjciOiAiU2V2ZW4iLCAiOCI6ICJFaWdodCIsICI5IjogIk5pbmUiCn0KbnVtYmVycyA9IFsxNiwgNTgsIDUxMF0KCgpzdHJpbmdzID0gbnVtYmVycy5tYXAoZnVuY3Rpb24obnVtYmVyKSB7CiAgICBvdXRwdXQgPSAiIgogICAgd2hpbGUgKG51bWJlciA+IDApIHsKICAgICAgICBvdXRwdXQgPSBkaWdpdE5hbWVzWyhudW1iZXIgJSAxMCkudG9TdHJpbmcoKV0gKyBvdXRwdXQKICAgICAgICBudW1iZXIgPSBNYXRoLmZsb29yKG51bWJlciAvIDEwKQogICAgfQoKICAgIHJldHVybiBvdXRwdXQKfSkKCgpmb3IgKGkgPSAwOyBpIDwgc3RyaW5ncy5sZW5ndGg7IGkrKykgewogICAgcHJpbnQoc3RyaW5nc1tpXSkKfQ==