快速重复

时间:2018-08-15 12:39:11

标签: arrays swift

我正在重复操作,但是效果不如预期。

工作到每个数组只有一个计数为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

2 个答案:

答案 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