配列の変更
CoddyのSwiftジャーニー「基礎」セクションの一部 — レッスン 64/86。
配列は、その内容を変更できるようになると、本当に便利になります。配列を変更するには、let の代わりに var を使用して宣言する必要があります。
特定のインデックスに新しい値を代入することで、既存の要素を変更できます。
var colors = ["Red", "Green", "Blue"]
colors[1] = "Yellow"
print(colors) // ["Red", "Yellow", "Blue"]新しい要素を追加するには、単一の項目の場合は append メソッドを使用し、複数の項目を一度に追加する場合は += 演算子を使用します:
var numbers = [1, 2, 3]
numbers.append(4)
print(numbers) // [1, 2, 3, 4]
numbers += [5, 6]
print(numbers) // [1, 2, 3, 4, 5, 6]特定の位置に要素を挿入するには、insert メソッドを使用します:
var fruits = ["Apple", "Orange"]
fruits.insert("Banana", at: 1)
print(fruits) // ["Apple", "Banana", "Orange"]要素を削除するには、削除したいインデックスを指定して remove(at:) を使用します:
var items = ["A", "B", "C", "D"]
items.remove(at: 2)
print(items) // ["A", "B", "D"]要素を削除すると、それ以降のすべての要素が隙間を埋めるように移動することに注意してください。
チャレンジ
簡単アイテムの配列、追加する新しいアイテム、および削除するインデックスを受け取り、変更された配列を返す関数 modifyInventory を作成してください。
次の操作を順番に実行してください:
- 最初の要素を
"Updated"に変更する - 配列の最後に新しいアイテムを追加する
- 指定されたインデックスにある要素を削除する
パラメータ:
items([String]): アイテムの初期配列newItem(String): 追加するアイテムremoveIndex(Int): 削除する要素のインデックス(追加後)
戻り値: すべての操作後の変更された配列 ([String])
例: items が ["A", "B", "C"]、newItem が "D"、removeIndex が 2 の場合、関数は次のように動作する必要があります:
- 最初の要素を変更:
["Updated", "B", "C"] - "D" を追加:
["Updated", "B", "C", "D"] - インデックス 2 で削除:
["Updated", "B", "D"]
チートシート
var で宣言された配列は変更可能ですが、let で宣言された配列は不変です。
特定のインデックスに新しい値を代入することで、要素を変更します:
var colors = ["Red", "Green", "Blue"]
colors[1] = "Yellow" // ["Red", "Yellow", "Blue"]append を使用して単一の要素を追加します:
var numbers = [1, 2, 3]
numbers.append(4) // [1, 2, 3, 4]+= を使用して複数の要素を追加します:
numbers += [5, 6] // [1, 2, 3, 4, 5, 6]insert(_:at:) を使用して、特定の位置に要素を挿入します:
var fruits = ["Apple", "Orange"]
fruits.insert("Banana", at: 1) // ["Apple", "Banana", "Orange"]remove(at:) を使用して、特定のインデックスの要素を削除します:
var items = ["A", "B", "C", "D"]
items.remove(at: 2) // ["A", "B", "D"]要素が削除されると、後続のすべての要素が隙間を埋めるためにシフトします。
自分で試してみよう
func modifyInventory(items: [String], newItem: String, removeIndex: Int) -> [String] {
// ここにコードを記述してください
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。