我想证明我的阵列

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]]-LMLPHP

关于arrays - 使用自定义范围过滤[[String]],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35848716/

10-10 13:52