Swiftの配列に入っている値を削除する方法を書いています。
配列の値を削除するには、配列から下記のメソッドを使うと良いです。
・removeLast
・removeAll
また、元の配列の内容を変えずに、必要のない要素だけ除きたい場合にはfilterメソッドを使います。
サンプルコードは、Swiftバージョン5.8.1で検証しています。
removeメソッドで指定場所の値を削除する
配列からremoveメソッドを呼んで、要素番号を渡すことで、指定した場所の値を削除することができます。
例えば、下記のようにして配列の値を削除します。
var fruits = ["apple", "grape", "orange", "peach", "lemon"]
fruits.remove(at: 1)
print(fruits) // ["apple", "orange", "peach", "lemon"]
fruits
変数に5つの文字列で配列を作成しています。
次の処理で、fruits
変数からremoveメソッドを呼んで、配列の値を削除しています。
名前付き引数のatに削除したい位置を指定します。
今回は「1」を指定しているので、配列を0番目から数えて「grape
」が削除されます。
print関数で出力すると「["apple", "orange", "peach", "lemon"]
」となりました。
指定位置の配列の値が削除されました。
removeLastメソッドで最後の値を削除する
removeLastメソッドを使うと、配列に入っている最後の値が削除されます。
例えば、下記のように使います。
var fruits = ["apple", "grape", "orange", "peach", "lemon"]
fruits.removeLast()
print(fruits) // ["apple", "grape", "orange", "peach"]
先ほどと同様に、fruits
変数に配列を作成しています。
次の処理でfruits
変数からremoveLastメソッドを呼び出しました。
これで配列に入っている最後の値が削除されます。
print関数で出力すると「["apple", "grape", "orange", "peach"]
」となりました。
配列の最後の値が削除されたことが確認できました。
removeAllメソッドで全ての値を削除する
removeAllメソッドを使うことで、配列の値を全て削除します。
例えば、下記のように使うことができます。
var fruits = ["apple", "grape", "orange", "peach", "lemon"]
fruits.removeAll()
print(fruits) // []
先ほどと同様に、fruits
変数が配列になっています。
次の処理で、配列のfruits
変数からremoveAllメソッドを呼び出しています。
これで、配列の値が全て削除されます。
print関数で出力すると、削除されていることが確認できました。
filterメソッドで削除する
filterメソッドを使うと、現在の配列の内容を変えずに、不要な値をフィルターした配列を返してくれます。
元の配列から削除されたように振る舞うことができます。
let fruits = ["apple", "grape", "orange", "peach", "lemon"]
let filterResult = fruits.filter { $0 != "orange" && $0 != "lemon" }
print(filterResult) // ["apple", "grape", "peach"]
先ほどと同様に、fruits
変数が配列になっています。
次の処理で、fruits
変数からfilterメソッドを呼び出しています。
波括弧({}
)の中にフィルターしたい内容を書いています。
$0
が配列の値になります。この$0
に対して、フィルターしたい内容を書きます。
今回は「$0 != "orange" && $0 != "lemon"
」とすることで、「orange
」と「lemon
」でない場合だけ、配列の値として残して返しています。
結果をfilterResult
変数で受け取って出力すると「["apple", "grape", "peach"]
」となりました。
指定した内容がフィルターされた形で配列が返ってきました。
Swiftで配列の値を削除する方法まとめ
今回はSwiftで配列の値を削除する方法について書きました。
記事の内容をまとめると、下記のようになります。
・removeLastを使うと、最後の要素が削除できた。
・removeAllを使うと、全ての要素が削除できた。
・filterを使って、配列の内容をフィルターした配列を返すことができる。
コメント