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