[Swift]配列で要素のインデックスを検索するには?

Swift

どうも、ちょげ(@chogetarou)です。

配列内の要素を検索して、インデックスを取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

配列で要素のインデックスを検索するには、firstIndexメソッドを使います。

具体的には、array.firstIndex(where : {})のように、firstindexメソッドを呼び出します。

firstIndexの引数「where」のクロージャーには、検索する条件を指定します。

 array.firstIndex(where : {検索する条件})

firstIndexメソッドは、引数「where」のクロージャー内の条件式で、trueを返した最初の要素のインデックスを戻り値として返します。

firstIndexの戻り値は、オプショナル型になっています。

これは検索結果が、「nil」になる可能性があるからです。

firstIndexを使う際は、結果がオプショナル型であることを考慮する必要があります。

条件に合う最後の要素のインデックスは、lastIndexメソッドで取得できます。

 array.lastIndex(where : {検索する条件})

使用例

以下は、使用例です。

var numbers = [1, 2, 3, 4, 5, 6]

//3以上になる最初の要素のインデックス
print(numbers.firstIndex(where : { $0 > 3})) //Optional(3)

//値が3の要素のインデックス
print(numbers.firstIndex(where : { $0 == 3})!) //2

コメント

タイトルとURLをコピーしました