How to determine if one array contains all elements of another array in Swift?

后端 未结 12 1160
梦如初夏
梦如初夏 2020-12-13 17:47

I have 2 arrays:

var list:Array = [1,2,3,4,5]
var findList:Array = [1,3,5]

I want to determine if list A

12条回答
  •  长情又很酷
    2020-12-13 18:06

    As a complement to Sequence.contains(element) handling multiple elements, add this extension:

    public extension Sequence where Element : Hashable {
        func contains(_ elements: [Element]) -> Bool {
            return Set(elements).isSubset(of:Set(self))
        }
    }
    

    Used:

    list.contains(findList)
    

    Since this uses Set/Hashable it performs much better than Equatable alternatives.

提交回复
热议问题