the*_*Fan 5 arrays ios swift swift4
这是一个组数组.
var group = ["H","H","E","D",
"G","D","G","E",
"D","B","A","B",
"A","A","G","C",
"C","H","D","G",
"H","B","E","F",
"F","C","E","A",
"B","C","F","F"]
Run Code Online (Sandbox Code Playgroud)
我想做这样的事情来找到"A"的索引.
group.index(of: "A"!)
Run Code Online (Sandbox Code Playgroud)
但这将只返回第一个指数,但不会返回下一个三个"A"的其他指数.
print(group.index(of: "A")!) //10
Run Code Online (Sandbox Code Playgroud)
如何让程序返回"A"的所有四个索引?
And*_*ini 11
您可以使用的组合enumerated和compactMap:
let indexArray = group.enumerated().compactMap {
$0.element == "A" ? $0.offset : nil
}
print(indexArray) // [10, 12, 13, 27]
Run Code Online (Sandbox Code Playgroud)
或者只是枚举/过滤/映射:
group.enumerated().filter{$1=="A"}.map{$0.offset}
Run Code Online (Sandbox Code Playgroud)
[编辑]根据亚历山大的建议将$ 0.0更改为$ 0.offset(使代码更清晰/明确)
| 归档时间: |
|
| 查看次数: |
1327 次 |
| 最近记录: |