let numbers = [1,3,4,5,9,1]
要找到前5个,请使用:
numbers.indexOf(5)
我如何找到第二次出现?
您可以在剩余的数组切片上执行另一个元素索引搜索,如下所示:
编辑/更新:Xcode 9•Swift 4
extension Collection where Element: Equatable { func secondIndex(of element: Element) -> Index? { guard let index = index(of: element) else { return nil } return self[self.index(after: index)...].index(of: element) } func indexes(of element: Element) -> [Index] { var indexes: [Index] = [] var position = self.startIndex while let index = self[position...].index(of: element) { indexes.append(index) position = self.index(after: index) } return indexes } }
测试:
let numbers = [1,1] numbers.secondIndex(of: 5) // 4 numbers.indexes(of: 5) // [3,4]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。