我试图通过搜索列表找到项索引。有人知道如何做到吗?
我看到有list.StartIndex和list.EndIndex bu我想要的东西像python的list.index(“text”)
由于swift在某些方面比面向对象更有功能(和数组是结构体,而不是对象),使用函数“find”对数组进行操作,返回一个可选值,因此准备处理一个nil值:
let arr:Array = ["a","b","c"] find(arr,"c")! // 2 find(arr,"d") // nil
Swift 2.0的更新:
Swift 2.0不再支持旧的find函数!
使用Swift 2.0,Array获得使用在CollectionType的扩展中定义的函数(该Array实现)来查找元素的索引的能力:
let arr = ["a","c"] let indexOfA = arr.indexOf("a") // 0 let indexOfB = arr.indexOf("b") // 1 let indexOfD = arr.indexOf("d") // nil
此外,在CollectionType的另一个扩展中支持查找数组中满足谓词的第一个元素:
let arr2 = [1,2,3,4,5,6,7,8,9,10] let indexOfFirstGreaterThanFive = arr2.indexOf({$0 > 5}) // 5 let indexOfFirstGreaterThanOneHundred = arr2.indexOf({$0 > 100}) // nil
注意,这两个函数返回可选值,如前所述。
Swift 3.0的更新:
注意indexOf的语法已更改。现在使用:
let indexOfA = arr.index(of: "a")
该方法的详细文档可以在https://developer.apple.com/reference/swift/array/1689674-index找到
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。