如何檢查一個元素是否在數組中?含代碼

如何檢查一個元素是否在數組中?

本文將解釋如何在Swift語言中檢查一個元素是否存在于數組中。愛掏網 - it200.com

在Swift中有幾種方法可以檢查一個元素是否在數組中 –

contains(_:)方法在數組中包含目標元素時返回true。愛掏網 - it200.com這個方法只適用于元素符合Equatable協議的數組。愛掏網 - it200.com

這里是一個使用包含數組的字符串的例子。愛掏網 - it200.com字符串符合Equatable協議,所以我們可以在此處使用contains方法。愛掏網 - it200.com

算法

  • 第1步 – 創建一個包含字符串的輸入數組

  • 第2步 – 通過傳遞目標元素來調用contains()方法

  • 第3步 – contains()方法返回一個布爾值

示例

import Foundation
let languages = ["PHP", "Java", "Python", "JavaScript", "Swift", "Objective-C"]
let targetElement = "Swift"
print ("Given array =",languages,"\nElement to search =",targetElement)

if languages.contains(targetElement) {
    print("\(targetElement) is in the array.")
} else {
    print("\(targetElement) is not in the array.")
}

輸出

Given array = ["PHP", "Java", "Python", "JavaScript", "Swift", "Objective-C"] 
Element to search = Swift
Swift is in the array.

使用 contains(where:) 方法

contains(where:) 是 Swift 中 Sequence 協議的一個方法,它返回一個布爾值,指示序列是否包含滿足給定斷言的元素。愛掏網 - it200.com

算法

  • 步驟1 – 創建一個輸入字符串數組

  • 步驟2 – 調用 contains(where:) 方法

  • 步驟3 – 在 contains(where:) 函數的閉包中檢查目標元素

  • 步驟4 – contains(where:) 方法返回一個布爾值

示例

下面是一個示例,演示如何使用 contains(where:) 來檢查字符串數組是否包含一個字符串 ?

import Foundation
let languages = ["PHP", "Java", "Python", "JavaScript", "Swift", "Objective-C"]
let targetElement = "Swift"
print ("Given array =",languages,"\nElement to search =",targetElement)
if languages.contains(where: { $0 == targetElement }) {
    print("\(targetElement) is in the array.")
} else {
    print("\(targetElement) is not in the array.")
}

輸出

Given array = ["PHP", "Java", "Python", "JavaScript", "Swift", "Objective-C"] 
Element to search = Swift
Swift is in the array.

示例

您還可以使用contains(where:)在自定義類型的數組中搜索元素,只要您提供一個返回布爾值的謂詞,該謂詞指示元素是否滿足某個條件。愛掏網 - it200.com例如,

import Foundation
struct Student {
    let name: String
    let score: Int
}
let students: [Student] = [Student(name: "John", score: 80),
   Student(name: "Tina", score: 75),
   Student(name: "Bob", score: 89),
   Student(name: "Alice", score: 67)]
print(students)                         

if students.contains(where: { $0.score > 80 }) {
    print("The student array contains a student who scored more than 80%.")
} else {
    print("The student array does not contain any students who scored more than 80%.")
}

輸出

[main.Student(name: "John", score: 80), main.Student(name: "Tina", score: 75), main.Student(name: "Bob", score: 89), main.Student(name: "Alice", score: 67)]
The student array contains a student who scored more than 80%.

使用filter方法

filter方法是Swift中的一種高階函數,它允許您通過僅包含滿足某個條件的元素來創建一個新數組。愛掏網 - it200.com

算法

  • 第1步 – 創建一個字符串的輸入數組

  • 第2步 – 調用filter()函數

  • 第3步 – 在filter()函數的閉包中檢查目標元素

  • 第4步 – filter()函數返回一個新的搜索元素數組

  • 第5步 – 檢查結果數組是否為空

示例

下面是一個示例,演示如何使用filter檢查一個元素是否在數組中:

let languages = ["PHP", "Java", "Python", "JavaScript", "Swift", "Objective-C"]
let targetElement = "Swift"
print ("Given array =",languages,"\nElement to search =",targetElement)
let filteredElements = languages.filter({ $0 == targetElement })
if filteredElements.isEmpty == false {
    print("\(targetElement) is in the array.")
} else {
    print("\(targetElement) is not in the array.")
}

輸出

Given array = ["PHP", "Java", "Python", "JavaScript", "Swift", "Objective-C"] 
Element to search = Swift
Swift is in the array.

使用firstIndex(of:)方法

firstIndex(of:)是Swift中RandomAccessCollection協議的一個方法,它返回集合中第一個與給定元素相等的元素的索引,如果未找到該元素,則返回nil。愛掏網 - it200.com

以下是如何使用firstIndex(of:)在數組中查找特定元素的索引的示例 –

算法

  • 步驟1 – 創建一個字符串的輸入數組

  • 步驟2 – 調用firstIndex()函數

  • 步驟3 – 如果目標元素包含在輸入數組中,則返回目標元素的索引

  • 步驟4 – firstIndex()函數返回第一個索引

  • 步驟5 – 檢查第一個索引是否有效

示例

import Foundation
let languages = ["PHP", "Java", "Python", "JavaScript", "Swift", "Objective-C"]
let targetElement = "Swift"
print ("Given array =",languages,"\nElement to search =",targetElement)
if let index = languages.firstIndex(of: targetElement) {
    print("\(targetElement) is in the array at index \(index).")
} else {
    print("\(targetElement) is not in the array.")
}

輸出

Given array = ["PHP", "Java", "Python", "JavaScript", "Swift", "Objective-C"] 
Element to search = Swift
Swift is in the array at index 4

使用for循環

算法

  • Step 1 – 創建一個字符串輸入數組

  • Step 2 – 對輸入數組執行for循環

  • Step 3 – 檢查目標元素是否包含在輸入數組中

  • Step 4 – 如果找到目標元素,中斷for循環執行

示例

import Foundation
let languages = ["PHP", "Java", "Python", "JavaScript", "Swift", "Objective-C"]
let targetElement = "Swift"
print ("Given array =",languages,"\nElement to search =",targetElement)
for language in languages {
    if language == targetElement {
        print("\(targetElement) is in the array.")
        break
    }
}

輸出

Given array = ["PHP", "Java", "Python", "JavaScript", "Swift", "Objective-C"] 
Element to search = Swift
Swift is in the array.

結論

我們有不同的方法來檢查一個元素是否在數組中。愛掏網 - it200.com每種方法都有確定結果的時間復雜度。愛掏網 - it200.com根據您的需求,您可以使用任何方法。愛掏網 - it200.com

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 99re6热视频精品免费观看| 四虎永久免费影院| 亚洲欧美成人综合久久久| 国产精品国语自产拍在线观看| 免费大片黄在线观看| 一本大道AV伊人久久综合| 2020亚洲欧美日韩在线观看 | 草草影院ccyy国产日本欧美| 最新仑乱免费视频| 国产成人高清亚洲一区app| 亚洲乱码日产精品BD在线观看| 一级成人a做片免费| 精品国产综合区久久久久99| 成人网站在线进入爽爽爽| 四个美女大学被十七个txt| 亚洲人成网7777777国产| 青青操在线免费观看| 欧美乱大交XXXXX疯狂俱乐部| 国产男女猛烈无遮挡| 久久这里只有精品66re99| 韩国大尺度床戏未删减版在线播放| 日本精品一卡二卡≡卡四卡| 国产三级理论片| 亚洲人成网站999久久久综合| 亚洲制服丝袜中文字幕| 最新国产精品视频| 国产免费一区二区三区免费视频 | 日韩av无码一区二区三区 | 亚洲精品国产首次亮相| 337p粉嫩胞高清视频在线| 欧美乱妇高清视频免欢看关| 国产成人av乱码在线观看| 久久久无码精品亚洲日韩蜜桃| 男女拍拍拍免费视频网站| 晓青老师的丝袜| 国产99视频精品免视看7| 久久国产免费一区| 经典国产一级毛片| 在线观看国产一区亚洲bd| 亚洲国产欧美日韩精品一区二区三区| 99热在线观看|