如何在SWIFT中找到列表项的索引?

如何在SWIFT中找到列表项的索引?

我试图通过搜索一个列表来找到一个项目索引。有人知道怎么做吗?

我知道有list.StartIndexlist.EndIndex但我想要像蟒蛇那样的东西list.index("text").


心有法竹
浏览 835回答 3
3回答

四季花海

对于课程,您可能需要:let index = someArray.firstIndex{$0 === someObject}全文答覆:我想值得一提的是,对于引用类型(class)您可能希望执行同一性比较,在这种情况下,只需使用===谓词闭包中的标识运算符:SWIFT 5,SWIFT 4.2:let person1 = Person(name: "John")let person2 = Person(name: "Sue")let person3 = Person(name: "Maria")let person4 = Person(name: "Loner")let people = [person1, person2, person3]let indexOfPerson1 = people.firstIndex{$0 === person1} // 0let indexOfPerson2 = people.firstIndex{$0 === person2} // 1let indexOfPerson3 = people.firstIndex{$0 === person3} // 2let indexOfPerson4 = people.firstIndex{$0 === person4} // nil请注意,上面的语法使用尾随闭包语法,相当于:let indexOfPerson1 = people.firstIndex(where: {$0 === person1})SWIFT 4/SWIFT 3-函数以前被称为indexSWIFT 2-函数曾经被称为indexOf *注意有关和有用的事项评语通过帕雷关于class实现的类型Equatable,您需要考虑是否应该比较使用=== (同一性运营者)或== (平等(操作员)如果您决定匹配使用==,然后您可以简单地使用其他人建议的方法(people.firstIndex(of: person1)).
打开App,查看更多内容
随时随地看视频慕课网APP