どうも、ちょげ(@chogetarou)です。
配列のループ処理でインデックスを使う方法を紹介します。
方法

配列のループでインデックスを使うには、enumeratedメソッドを使います。
for-in文
for-in文では、まず、変数を「(index, element)」のように、()内にインデックス用の変数と要素用の変数をカンマ区切りで指定します。
そして、for-in文のinの後に、配列のenumeratedメソッドの戻り値を指定します。
for (index, elemenet) in array.enumerated() {
//ループ処理
//配列のインデックスはindex、要素はelementで取得
}
使用例
var numbers = [
"One",
"Two",
"Three",
"Four",
"Five"
]
for (index, element) in numbers.enumerated() {
print("\(index) is \(element)")
}

forEach
forEachメソッドでは、forEachメソッドの前にenumeratedメソッドを呼び出します。
forEachメソッドのクロージャ内では、インデックスを「$0」、要素を「$0」で表現します。
array.enumerated().forEach {
//ループ処理
//配列のインデックスは「$0」、要素は「$1」で表現
}
使用例
var numbers = [
"One",
"Two",
"Three",
"Four",
"Five"
]
numbers.enumerated().forEach {
print("\($0) is \($1)")
}
まとめ
配列のループでインデックスを使うには、enumerateメソッドを使います。
コメント