## Swift 程式教學:如何在 Array 中查找元素
在 Swift 中,查找 Array 中的元素是一個常見的操作。本文將介紹如何使用 `contains`、`firstIndex(of:)` 和 `filter` 方法來查找元素,並提供2025年最新的語法與最佳實踐。
### 測試資料 Array
我們將使用以下測試資料來進行演示:
“`swift
var testList = [“測試1”, “測試2”, “測試3”, “測試4”, “測試5”]
“`
### 尋找值並回傳 Bool
使用 `contains` 方法可以簡單地檢查 Array 中是否存在某個值,返回一個 Boolean 值。以下是使用範例:
“`swift
if testList.contains(“測試2”) {
print(“找到了”)
} else {
print(“找不到”)
}
“`
### 尋找值並回傳 Index
如果您需要知道特定值在 Array 中的位置,可以使用 `firstIndex(of:)` 方法。這個方法將返回該值的索引(如果存在),若不存在則返回 `nil`。以下是示範代碼:
“`swift
if let index = testList.firstIndex(of: “測試2”) {
print(“測試2 的索引是:\(index)”)
} else {
print(“找不到測試2”)
}
“`
### 使用 filter 方法查找多個元素
若您希望查找符合特定條件的所有元素,可以使用 `filter` 方法。這個方法會返回一個新的 Array,包含所有滿足條件的元素。以下是如何使用它的範例:
“`swift
let filteredList = testList.filter { $0.contains(“測試”) }
print(“符合條件的元素有:\(filteredList)”)
“`
### 錯誤排除
1. **找不到元素**:確保您查找的元素確實存在於 Array 中。如果返回 `nil`,可以檢查拼寫或大小寫。
2. **空 Array**:如果 Array 為空,所有查找操作都將返回 `nil` 或 `false`。務必在查找前確認 Array 是否包含元素。
### 延伸應用
– 使用 `contains` 和 `firstIndex(of:)` 方法可以在用戶輸入的資料中進行快速查找,適合用於表單驗證。
– `filter` 方法適合用於資料篩選功能,例如顯示符合特定條件的資料列表。

—
## Q&A(常見問題解答)
**Q1: 如何在 Swift 中判斷一個 Array 是否為空?**
A1: 您可以使用 `isEmpty` 屬性來判斷 Array 是否為空,例如:`if testList.isEmpty { print(“Array 是空的”) }`。
**Q2: `firstIndex(of:)` 方法在 Array 中的性能如何?**
A2: `firstIndex(of:)` 方法的性能取決於 Array 的大小,因為它需要遍歷 Array 來查找元素,時間複雜度為 O(n)。
**Q3: 除了 `contains` 和 `firstIndex(of:)`,還有其他查找元素的方法嗎?**
A3: 是的,您可以使用 `filter` 方法來查找符合條件的所有元素,也可以使用 `forEach` 循環來逐一檢查元素。
—