[Swift]配列を条件で検索するには?

SwiftUI

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

配列内の要素を条件で検索する方法を紹介します。

スポンサーリンク

方法

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

配列の要素を条件で検索する方法は、2つあります。

first

1つは、firstメソッドを使う方法です。

具体的には、「array.first{ /*条件式*/ }」のように、firstメソッドをクロージャーに条件式を指定して呼び出します。

配列の値は、「$0」で表現します。

var array : [Int] = [1, 2, 3, 4, 5, 6]

//3より大きい最初の要素を戻り値で返す
print(array.first{ $0 > 3}) //出力:4

クロージャーの条件式で、最初に「true」を返した要素が戻り値として返されます。

firstメソッドの戻り値は、オプショナル型になっています。

というのも、条件式を満たす要素がない可能性があるからです。

filter

もう1つは、filterメソッドを使う方法です。

具体的には、「array.filter{/*条件式*/}」のように、fileterメソッドを、クロージャーに条件式を指定して呼び出します。

配列の要素は、「$0」で表現します。

var array : [Int] = [1, 2, 3, 4, 5, 6]

//2の倍数
var filter = array.filter{ $0 % 2 == 0 }

print(filter) //出力: [2, 4, 6]

クロージャーの条件式で「true」を返した要素を、配列として返します。

スポンサーリンク

まとめ

配列の要素を条件で検索する方法は、次の2つです。

  • first : 条件に合う最初の要素を戻り値として返す
  • filter : 条件に合う要素を全て配列で戻り値として返す

コメント

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