swift - Xcode 9.4.1 - 如何跳过组的剩余部分并移至下一组

标签 swift for-loop set

虽然这可能不是一个很好的例子,但正如问题所述,我希望将 randomNonumberSets 中的集合进行比较。然而,当找到一个数字时,我想知道是否有办法跳到下一组。

总而言之,randomNo 包含 2 个数字,可以在同一组中找到,它们是“6”和“9”。我想知道当我找到“6”时,是否可以取消该组的其余数字并进入下一组,而无需循环遍历该组中的其余数字

init() {
    let numberSet1 : Set<Int> = [1,2,3,4,5]
    let numberSet2 : Set<Int> = [6,7,8,9,10]
    let numberSet3 : Set<Int> = [11,12,13,14,15]

    let randomNo = [3,6,9,11]

    numberSets = [numberSet1,numberSet2,numberSet3]
}

func searchFor(){
    for num in randomNo{
        for set in numberSets{
            if set.contains(num) {
                print("The following number was found: ", num)
            }
        }
    }
}

最佳答案

实现此目的的一种方法是继续外循环:

outer: for num in randomNo{
    for set in numberSets{
        if set.contains(num) {
            print("The following number was found: ", num)
            continue outer
        }
    }
}

另一种方法是将所有三个集合合并:

let union = numberSet1.union(numberSet2).union(numberSet3)

print(randomNo.filter(union.contains))

关于swift - Xcode 9.4.1 - 如何跳过组的剩余部分并移至下一组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53674221/

相关文章:

python - 如何找到所有可能的方法将字符串划分为 n 个切片而无需递归?

c++ - for循环中c++中的时间(以毫秒为单位)始终相同

c++ - 是否有一种优雅的可能性可以将多个集合包含到多重映射中?

ios - 如何检测快速点击了哪个图像

ios - 如何继续下一个viewController

ios - UISearchController - 警告尝试加载 View Controller 的 View

swift - 如何对 Double 进行按位补码并将其取反?

java - 结果没有初始化?

python - 这些集合操作是什么,为什么它们会给出不同的结果?

python - 查找具有共同元素的元组