要素の反復処理
CoddyのSwiftジャーニー「基礎」セクションの一部 — レッスン 69/86。
配列の作成方法と変更方法を理解したところで、各要素を一つずつ処理する方法を見ていきましょう。for-in ループを使うと、これを非常に簡単に行うことができます。
配列に対して for-in ループを使用すると、Swiftは自動的に各要素を順番に取り出します:
let fruits = ["Apple", "Banana", "Cherry"]
for fruit in fruits {
print(fruit)
}
// Apple
// Banana
// Cherry変数 fruit は、各反復処理において配列の各値を取得します。この変数には、データの内容に合わせて分かりやすい名前を自由に付けることができます。
このパターンは、合計の計算など、すべての要素に対して操作を実行するのに最適です:
let prices = [9.99, 14.50, 3.25]
var total = 0.0
for price in prices {
total += price
}
print(total) // 27.74ループを使用して、既存の配列に基づいて新しい配列を作成することもできます。
let numbers = [1, 2, 3, 4]
var doubled = [Int]()
for number in numbers {
doubled.append(number * 2)
}
print(doubled) // [2, 4, 6, 8]配列の反復処理はプログラミングにおいて最も一般的な操作の1つであるため、このパターンを習得することは非常に役立ちます。
チャレンジ
簡単numbersを受け取り、配列内の正の数の個数を返す関数countPositivesを作成してください。
for-inループを使用して各要素を反復処理し、0より大きい要素がいくつあるかをカウントします。
パラメータ:
numbers([Int]): 整数の配列
戻り値: 配列内の正の数(0より大きい数)の個数 (Int)
例: numbersが[-3, 5, 0, 8, -1, 12]の場合、関数は3を返す必要があります(正の数は5、8、12です)。
チートシート
for-inループを使用して、配列の各要素を反復処理します:
let fruits = ["Apple", "Banana", "Cherry"]
for fruit in fruits {
print(fruit)
}
// Apple
// Banana
// Cherryループ変数(この例ではfruit)は、各反復中に配列から各値を受け取ります。
for-inループを使用して合計を計算できます:
let prices = [9.99, 14.50, 3.25]
var total = 0.0
for price in prices {
total += price
}
print(total) // 27.74既存の配列を反復処理することで、新しい配列を作成することもできます:
let numbers = [1, 2, 3, 4]
var doubled = [Int]()
for number in numbers {
doubled.append(number * 2)
}
print(doubled) // [2, 4, 6, 8]自分で試してみよう
func countPositives(numbers: [Int]) -> Int {
// ここにコードを書いてください
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。