2016-10-05 106 views

回答

4
extension Array { 
    func reject(_ isRejected: (Element) -> Bool) -> [Element] { 
     return self.filter{ !isRejected($0) } 
    } 
} 

現在確實如此。

更妙的是,你可以推廣到任何Sequence,甚至處理投擲斷言:

extension Sequence { 
    func reject(_ isRejected: (Self.Iterator.Element) throws -> Bool) rethrows -> [Self.Iterator.Element] { 
     return try self.filter{ !(try isRejected($0))} 
    } 
} 
相關問題