我在 Swift 中有一個字串陣列。我還有一個 url,我想檢查這個 url 是否包含包含在我擁有的這個字串陣列中的元素之一。
所以如果 url.pathComponents.contains("我該怎么做?")
我想到了 for 回圈,但我正在尋找一種單線解決方案(如果有的話)。
十分感謝。
uj5u.com熱心網友回復:
let things = ["aaa", "bbb", "ccc"]
url.pathComponents.contains(where: things.contains)
例如:
let url = URL(string: "https://www.example.com/foo/bar/baz")!
let things = ["aaa", "bbb", "ccc"]
let doesnt = url.pathComponents.contains(where: things.contains) // false
let things2 = ["aaa", "bar", "ccc"]
let does = url.pathComponents.contains(where: things2.contains) // true
稍微分解一下:如果你有一個陣列,things,那么 things.contains 是一個函式,如果它在 things 中,給定一個東西將回傳 true。這樣的函式作為 contains(where:) 的謂詞函式很有用,它是集合上的一個函式,如果集合中的任何事物滿足給定的謂詞函式,它將回傳 true。或者您可以將謂詞撰寫為閉包運算式,例如{ thing in things.contains(thing) }.
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/466096.html
上一篇:如何在陣列中追加陣列?
