どうも、ちょげ(@chogetarou)です。
Swiftで配列のfilterメソッドでインデックスを結果として返す方法を紹介します。
方法

配列のfilterメソッドでインデックスを取得するには、indicesプロパティを使います。
まず、「array.indices」のように、配列のindicesプロパティにアクセスします。
次に、「array.indices.filter { }」のように、indicesからfilterメソッドを呼び出します。
最後に、filterメソッドのクロージャーに条件式を指定します。
条件式では、配列の要素を「array[$0]」で表現します。
//filterの条件式では、配列の要素をarray[$0]で表現
array.indices.filter { 条件式 }
indicesプロパティを使えば、配列のfilterメソッドでインデックスを取得することができます。
使用例
以下は、使用例です。
var array = ["a", "b", "c", "a", "c"]
var filterIndex = array.indices.filter { array[$0] == "a" }
print(filterIndex) //[0, 3]
コメント