どうも、ちょげ(@chogetarou)です。
構造体を要素とする配列を検索する方法を紹介します。
方法

構造体の配列を検索するには、firstメソッドもしくはfilterメソッドを使います。
first
構造体の配列を検索するには、「array.first{条件式}」のように、firstメソッドを呼び出します。
検索の条件式では、配列の要素を「$0」で表現します。
また、構造体内のプロパティには、「$0.property」のようにアクセスします。
array.first {
//条件式
}
firstメソッドは、条件式を満たす最初の要素が戻り値として返されます。
使用例
var persons : [Person] = [
Person(name : "Taro", age : 20),
Person(name : "Jiro", age : 15),
Person(name : "Saburo", age : 10)
]
var searchPerson = persons.filter {
$0.age < 18
}
filter
条件に合う複数の要素を検索するには、「array.filter{条件式}」のように、filterメソッドを呼び出します。
検索の条件式では、配列の要素を「$0」で表現します。
また、構造体内のプロパティには、「$0.property」のようにアクセスします。
array.filter { 条件式 }
filterメソッドは、条件式でtrueを返す構造体を全て配列として返します。
使用例
var persons : [Person] = [
Person(name : "Taro", age : 20),
Person(name : "Jiro", age : 15),
Person(name : "Saburo", age : 10)
]
var searchPerson = persons.filter {
$0.age < 18 //ageが18未満で検索
}
まとめ
構造体の配列を検索するには、firstメソッドもしくはfilterメソッドを使います、
また、構造体のプロパティには、「$0.property」のようにアクセスします。
コメント