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