在结构中搜索,传递数组的索引?

Search in struct, delivering index of array?

获取此代码需要什么 运行? 你好,我已经有了这部分代码。它在结构数组中搜索并提供 - 如果找到 - 该项目的索引:

    for index in 0 ..< gSteering.count {
        if gSteering[index].Ext == fileExtension.uppercaseString {
            priority = index
            break
        }
    }

我敢肯定,在 SWIFT 中使用库函数有更简洁和更优雅的方法。有什么提示吗?

这是我能想到的:

if let index = (gSteering.map{ [=10=].Ext }).indexOf(fileExtension.uppercaseString) 
{ 
    priority = index
}
else 
{
    // Not found.
}

还有一个:

let priority = gSteering.indexOf { [=11=].Ext == fileExtension.uppercaseString }

下面是直接获取对象而不是索引的方法:

// This will give you an array with all the results that match.
let priorityObj = gSteering.filter { [=12=].Ext == fileExtension.uppercaseString } 

类似

let priority = gSteering.indexOf() {
    [=10=].Ext == fileExtension.uppercaseString
}

P.S。如果您希望优先级默认为 maxint,以防找不到项目:

let priority = gSteering.indexOf() {
    [=11=].Ext == fileExtension.uppercaseString
} ?? Int.max