ios - 如何获取索引(:) to return multiple indices?

标签 ios arrays 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"]

我想做这样的事情来找到“A”的索引。

group.index(of: "A"!)

但这将只返回第一个索引,而不会返回接下来三个“A”的其他索引。

print(group.index(of: "A")!) //10

如何让程序返回“A”的所有四个索引?

最佳答案

您可以结合使用enumeratedcompactMap:

let indexArray = group.enumerated().compactMap {
   $0.element == "A" ? $0.offset : nil
}    
print(indexArray) // [10, 12, 13, 27]

关于ios - 如何获取索引(:) to return multiple indices?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48631228/

相关文章:

javascript - 如何从发送电子邮件中删除特定数据

javascript - jQuery Post 不发布多维数组数据

swift 泛型 : where in type declaration

iOS Swift 3 - 过滤器内的过滤器数组

Objective-C:理解 ARC

iOS更改应用程序语言不生效

c++ - 在 C++ 中使用分隔符获取输入

swift - 如何覆盖 Swift 中的属性?

ios - 仅通过 Apple Watch 请求 HealthKit 访问?

ios - Xcode 5 编辑后 UITextField 上的字体大小错误