如何在Swift中找到一个列表项的索引

如何在Swift中找到一个列表项的索引

Swift给了你一些方法来执行集合类型,以获得一个特定对象的索引。

要在Swift中找到数组中某项的索引,你可以使用数组类型的firstIndex(of:)方法。这个方法返回数组中第一个与给定元素相等的元素的索引,如果没有找到这样的元素,则返回nil。

如何打印清单项目的索引

我们来看看一个例子。

算法

第1步 – 定义一个输入阵列。

第2步 – 在输入数组上调用firstIndex()方法。

第3步–使用可选的绑定来获得一个索引。

第4步 – 如果找到的话,打印索引。

示例

import Foundation
let languages: [String] = ["Java", "C++", "Swift", "Python", "JavaScript"]
let targetString = "Swift"
if let index = languages.firstIndex(of: targetString) {
   print("Index of \(targetString) is \(index)")
} else {
   print("\(targetString) is not in the list")
}

输出

Index of Swift is 2

还有一些其他情况,你应该考虑和了解,以获得一个索引。

如果数组中出现重复的对象,将返回什么索引

在这种情况下,firstIndex()方法将返回列表中第一次出现的索引。比如说。

示例

import Foundation
let languages: [String] = ["Java", "C++", "Swift", "Python", "JavaScript", "Swift"]
let targetString = "Swift"
if let index = languages.firstIndex(of: targetString) {
   print("Index of \(targetString) is \(index)")
} else {
   print("\(targetString) is not in the list")
}

输出

Index of Swift is 2

如果你需要找到一个满足某种条件的元素的索引

你可以使用index(where:)方法来代替。这个方法接收一个返回Bool的闭包,并返回闭包返回true的数组中第一个元素的索引。比如说

示例

import Foundation
let languages: [String] = ["Java", "C++", "Swift", "Python", "JavaScript"]
let targetString = "Py"
if let index = languages.firstIndex(where: { $0.starts(with: targetString) }) {
   print("Index of \(targetString) is \(index)")
} else {
   print("\(targetString) is not in the list")
}

输出

Index of Py is 3

结论

Swift给了我们几种方法来获取数组中某项的索引。你可以根据你的要求使用任何方法。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Swift 教程