Swift程序:查找数组中指定项的首次出现索引
数组用于按顺序存储相同数据类型的元素。
在这里,我们将学习如何编写一个Swift程序来查找数组中指定项的首次出现索引。
为此,我们将使用以下方法来查找数组元素首次出现的索引:
使用用户自定义函数
使用firstIndex()函数
方法1:使用用户自定义函数
为了查找数组中指定元素首次出现的索引,我们创建一个函数,该函数迭代遍历每个元素及其索引,并检查当前值是否等于指定元素。如果是,则返回该当前索引。如果循环结束且未找到元素,则返回nil。
算法
步骤1 - 创建一个函数。
步骤2 - 运行for循环。
步骤3 - 检查当前元素是否等于指定元素。如果是,则返回当前索引。
步骤4 - 如果循环结束且未找到指定元素,则返回nil。
步骤5 - 创建一个数组并将它与元素一起传递给函数。
步骤6 - 打印结果
示例
下面的Swift程序用于查找数组中指定项的首次出现索引。
import Foundation import Glibc // Function to find the index of the first occurrence of the specified item in the array func findFirstIndex(ele: Int, in arr: [Int]) -> Int? { for (index, value) in arr.enumerated() { if value == ele { return index } } return nil } // Creating an array of integer type let numbers = [12, 9, 3, 6, 88, 23, 4, 6, 4, 23, 6] if let index = findFirstIndex(ele: 6, in: numbers) { print("The first occurrence of 6 is at index \(index)") } else { print("Element 6 is not found in the give array") }
输出
The first occurrence of 6 is at index 3
在上面的代码中,我们有一个整数类型的数组。现在,我们创建一个名为findFirstIndex()的函数,并将元素和数组传递给它。在这个函数中,我们运行一个for循环,它迭代遍历原始数组的每个元素,并使用enumerated()函数获取索引和元素。在for循环内,我们检查当前元素是否等于指定元素。如果当前元素等于指定元素,则此函数返回当前索引。如果循环结束并且没有元素等于指定元素,则此函数返回nil。
方法2:使用firstIndex(of:)函数
Swift提供了一个名为firstIndex(of:)的内置函数。此函数返回指定元素在给定数组中首次出现的索引。如果在给定数组中找不到指定元素,则它将返回nil。
语法
Func firstIndex(of: Element)
这里,Element表示要在数组中搜索的项。
算法
步骤1 - 创建一个整数类型的数组。
步骤2 - 使用if-else语句检查使用firstIndex(of:)函数在数组中找到指定元素的首次出现索引。
步骤3 - 如果在给定数组中找到该元素,则显示索引值。
步骤4 - 如果未找到该元素,则打印“未找到元素”。
示例
下面的Swift程序用于查找数组中指定项的首次出现索引。
import Foundation import Glibc // Creating an array of integer type let mArray = [20, 3, 3, 4, 21, 4, 7, 10, 8, 4, 2] // Finding the index of the first occurrence of the specified item in the array if let index = mArray.firstIndex(of: 4) { print("The first occurrence of 4 is at index \(index)") } else { print("Element 4 is not found in the given array") }
输出
The first occurrence of 4 is at index 3
在上面的代码中,我们有一个整数数组。然后,我们使用firstIndex(of:)函数查找元素4在数组中首次出现的索引。如果在数组中找到该数字,则显示该元素及其索引值。否则,显示“元素未找到”。这里我们使用if let与firstIndex(of:)函数一起使用,因为此函数返回可选Int值,因此需要使用if let解包。
结论
在本文中,我们使用了两种不同的方法来查找数组中指定项的首次出现索引。在第一种方法中,我们使用了用户自定义函数,而在第二个示例中,我们使用了内部函数firstIndex(of:)来查找索引。