どうも、ちょげ(@chogetarou)です。
配列内の要素を条件で検索する方法を紹介します。
方法

配列の要素を条件で検索する方法は、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」を返した要素が戻り値として返されます。
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 : 条件に合う要素を全て配列で戻り値として返す
コメント