Swiftで配列を繰り返し処理する際にインデックスを取得する方法について記載します。
繰り返し処理でインデックスを取得処理する方法
for-in と enumerated メソッド を使用します。
書式
for( インデックスを格納する変数、値を格納する変数 )in 配列変数.enumerated()
実行例( 配列の各要素のインデックスと値を出力 )
1 2 3 4 5 6 7 8 9 10 11 |
let nums = [10,20,30,40,50] for( idx, value ) in nums.enumerated() { print("\(idx): \(value)") } // 0: 10 // 1: 20 // 2: 30 // 3: 40 // 4: 50 |
また、 for-in は continue や break も使えるので、スキップ や 処理を抜けることもできます。
実行例( continue )
1 2 3 4 5 6 7 8 9 10 11 12 13 |
let nums = [10,20,30,40,50] for( idx, value ) in nums.enumerated() { if value == 30 { continue } print("\(idx): \(value)") } // 0: 10 // 1: 20 // 3: 40 // 4: 50 |
実行例( break )
1 2 3 4 5 6 7 8 9 10 11 |
let nums = [10,20,30,40,50] for( idx, value ) in nums.enumerated() { if value == 30 { break } print("\(idx): \(value)") } // 0: 10 // 1: 20 |
インデックスを使用しないで、配列を繰り返し処理する場合は、配列の要素を繰り返し(ループ)処理する方法 をご覧ください。