我正在重复操作,但是效果不如预期。
工作到每个数组只有一个计数为1的程度,但我希望它能工作到计数为0的那个点。
var array = [1, 2, 3]
var secondArray = [4, 5, 6]
repeat {
print("Repeat")
if array.count > secondArray.count {
array.removeFirst()
} else {
secondArray.removeFirst()
}
} while array.count != 0 && secondArray.count != 0
答案 0 :(得分:2)
您要运行循环,直到两个数组都为空,即,只要其中一个都不为空。因此,循环条件必须为
while array.count != 0 || secondArray.count != 0
还请注意,如果两个数组最初都为空,则代码将崩溃。
最好使用while
循环,在此条件之前之前
执行身体:
while !array.isEmpty || !secondArray.isEmpty {
if array.count > secondArray.count {
array.removeFirst()
} else {
secondArray.removeFirst()
}
}
(如评论中所述,使用isEmpty
。
答案 1 :(得分:0)
@Fredo将您的所有代码好,只需更改您的while条件即可
while array.count!= 0 || secondArray.count!= 0