【SwiftUI】配列の要素を検索する方法

この記事は約3分で読めます。

配列の要素を検索する方法についてご紹介します。

要素の値を返す 「first」

条件を指定すると、指定した条件と一致する要素の値を返します。

条件に一致する要素がない場合は、nilを返します。

import SwiftUI

struct SerchSample: View {
    var fruits: [String] = ["apple", "banana", "orange"]
    var body: some View {
        VStack {
            if let text = fruits.first(where: {$0 == "banana"} ) {
                Text(text)
            }
            else {
                //例外発生
            }
        }
    }
}

参考:

参考:$0について

について

$0はパラメータ部分の記述を省略しただけであり、$0を使用せずに記述すると、以下のようなコードになります。

struct SerchSample2: View {
    var fruits: [String] = ["apple", "banana", "orange"]
    var body: some View {
        VStack {
            if let text = fruits.first(where: {elem in
                elem == "banana"
            } ) {
                Text(text)
            }
            else {
                //例外発生
            }
        }
    }
}

要素のインデックスを返す「firstIndex」

条件を指定すると、指定した条件と一致する要素のインデックスを返します。

import SwiftUI

struct SerchFirstIndex: View {
    var fruits: [String] = ["apple", "banana", "orange"]
    var body: some View {
        VStack {
            if let index = fruits.firstIndex(of: "banana") {
                Text("bananaのインデックス:\(index)")
            }
            else {
                //例外発生
            }
        }
    }
}
タイトルとURLをコピーしました