どうも、ちょげ(@chogetarou)です。
配列の要素を特定の条件で検索して、取り出す方法を紹介します。
方法

配列の要素を特定の条件で検索して取り出す方法は、2つあります。
firstメソッド
1つは、firstメソッドを使う方法です。
まず、配列からfirstメソッドを呼び出します。
そして、firstメソッドの引数「where」のクロージャーで条件式を返します。
引数「where」のクロージャー内では、配列の要素を「$0」で表現し、「$0」を使って条件式を記述します。
array.first(where: { 条件式 })
firstメソッドは、配列の先頭から最初に条件式で「true」を返した要素を取り出します。
使用例
var array = [1, 2, 3, 4, 5]
var findValue = array.first(where: { $0 % 3 == 0 })
print(findValue) //Optional(3)
filterメソッド
もう1つは、filterメソッドを使う方法です。
まず、filterメソッドを配列から呼び出します。
そして、filterメソッドのクロージャーで条件式を返します。
条件式では、配列の要素を$0で表現します。
array.filter{ 条件式 }
filterメソッドは、条件式で trueを返した要素を、全て配列として返します。
使用例
var array = [1, 2, 3, 4, 5]
var findValue = array.filter{ $0 % 2 == 0 }
print(findValue) //[2, 4]
まとめ
配列の要素を条件で検索して取り出す方法は、次の2つです。
- firstメソッドを使って、条件に合致する要素を1つ取り出す方法
- filterメソッドを使って、条件に合致する要素を全て取り出す方法
コメント