iOS
Swift
swift4

swiftで配列から値を指定して削除する

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プロトコルを継承したオブジェクトの配列である必要があります。