【发布时间】:2018-03-15 00:57:10
【问题描述】:
我的最终目标是从文本字段中输入的字符串中提取一个整数数组。为此,我创建了一个参数为字符串的函数。我使用 for 循环将文本字段中的所有字符放入一个数组中。然后我遍历数组并仅将数字(如果它们
var array1 = [String]()
var array2 = [Int]()
func getDigits (userInput: String) {
for element in userInput {
array1.append(String(element))
}
var mx = 0
var fx = 1
func findNumbers() {
for number in 1...24 {
if array1[mx] == "\(fx)" {
array2.append(Int(String(array1[mx]))!)
} else {
fx += 1
findNumbers()
}
}
}
findNumbers()
print (array2)
}
getDigits(userInput: "4-5")
输出:[4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]
【问题讨论】:
-
使用调试器。逐行浏览代码,看看你的错误。
-
提示:
mx是什么,它将包含什么值? -
@CharlesSrstka 感谢您的帮助!我不明白你的暗示。 mx 只是一个计数器
-
@Theodore.K 但是是这样吗?
-
@Theodore.K 取决于你想要做什么。最简单和最干净的事情实际上可能是完全摆脱
mx计数器,只需使用for..in循环遍历array1。