Swiftで配列の値を削除する4つの方法!

swift

Swiftの配列に入っている値を削除する方法を書いています。
配列の値を削除するには、配列から下記のメソッドを使うと良いです。

・remove
・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で配列の値を削除する方法について書きました。
記事の内容をまとめると、下記のようになります。

・removeを使うと、指定した場所の値を削除できた。
・removeLastを使うと、最後の要素が削除できた。
・removeAllを使うと、全ての要素が削除できた。
・filterを使って、配列の内容をフィルターした配列を返すことができる。

コメント

タイトルとURLをコピーしました