我想证明我的阵列
let actualSigns = ["Aa", "Bb", "Cc"]
... 等于这个数组中的一个。。。
var validSigns = [[String]]()
validSigns.append(["Aa", "Bb", "Cc", "Dd"]) // want to match this
validSigns.append(["Aa", "Bb", "Cc", "Xy"]) // ... and this
validSigns.append(["Ee", "Ff", "Gg", "Hh"])
... 只比较
actualSigns
的对象数。在这种情况下,我想匹配
validSigns
中的第一个和第二个数组,因为前三个值等于actualSigns
。我试过过滤它
let range = Range(start: actualSigns.count, end: actualSigns.count+1)
let match = validSigns.filter{ $0.removeRange(range) == actualSigns }
但是编译器说。我怎样才能解决这个问题?
最佳答案
在要测试的数组上使用这样的startsWith
。
let match = validSigns.filter{$0.startsWith(actualSigns)}
关于arrays - 使用自定义范围过滤[[String]],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35848716/