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

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

    本文將解釋如何在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 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 精品无码一区二区三区亚洲桃色| 久久久无码一区二区三区| 97久久精品无码一区二区天美| 国产成人一区二区三区电影网站| 日韩一区精品视频一区二区| 国模精品一区二区三区| 内射白浆一区二区在线观看| 99热门精品一区二区三区无码 | 久久国产精品免费一区| 波多野结衣AV一区二区三区中文| 美女毛片一区二区三区四区| 无码人妻品一区二区三区精99| 99精品国产一区二区三区| 无码AV一区二区三区无码| 精品一区二区三区中文| 能在线观看的一区二区三区| 国产一区二区三区不卡在线看| 国产精品无码一区二区在线| 无码人妻啪啪一区二区| 波多野结衣AV一区二区三区中文 | 国产成人片视频一区二区| 老鸭窝毛片一区二区三区| 人妻内射一区二区在线视频| 免费一区二区三区在线视频| 合区精品久久久中文字幕一区| 亚洲片国产一区一级在线观看| 国产成人久久精品麻豆一区| 手机看片福利一区二区三区| 亚洲色精品vr一区二区三区| 天堂国产一区二区三区| 国产精品合集一区二区三区| 精品一区二区三区| 精品综合一区二区三区| 国产福利电影一区二区三区久久老子无码午夜伦不 | 亚洲AV无码一区二区三区电影 | 国产精品无码一区二区三区在| 99偷拍视频精品一区二区| 激情啪啪精品一区二区| 国产亚洲3p无码一区二区| 精品成人乱色一区二区| 日韩高清一区二区三区不卡|