swiftで配列から値を指定して削除する
Swiftはインデックスを指定して削除する関数しか用意されていません。
extensionでarrayを拡張して値を指定して削除する関数を作成できます。
値を指定して、インデックスを取得し、削除するだけです。
extension Array where Element: Equatable {
mutating func remove(value: Element) {
if let i = self.index(of: value) {
self.remove(at: i)
}
}
}
補足:Equatable
==演算子で比較できるプロトコルです。
値を指定して削除するためにはEquatableプロトコルを継承したオブジェクトの配列である必要があります。