加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift:indexOf第二次出现

发布时间:2020-12-14 05:45:04 所属栏目:百科 来源:网络整理
导读:let numbers = [1,3,4,5,9,1] 要找到前5个,请使用: numbers.indexOf(5) 我如何找到第二次出现? 您可以在剩余的数组切片上执行另一个元素索引搜索,如下所示: 编辑/更新:Xcode 9?Swift 4 extension Collection where Element: Equatable { func secondInde
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]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读