Swift_集合 let arrSub = arr.drop(w

2020-12-04  本文已影响0人  Eyes_cc
通过跳过一个元素之后,其余元素生成一个新序列,原序列不变。
如果该元素应该被跳过,则闭包返回“true”;否则返回“false”。一旦返回' false '它将不会被再次调用。如果第一个元素作为参数时返回“false”, 则直接返回一个空序列。
/// 通过跳过一个元素之后生成一个新序列,原序列不变。
/// 参数是一个闭包,它接受序列的一个元素作为它的参数,如果该元素应该被跳过,则闭包返回“true”;否则返回“false”。一旦返回' false '它将不会被再次调用。

///
/// - Complexity: O(*n*),其中*n*为集合的长度。
    @inlinable public func drop(while predicate: (Element) throws -> Bool) rethrows -> ArraySlice<Element>

var numbers = [1, 2, 3, 4, 5, 1, 6, 7, 1, 8, 9]
let drop = numbers.drop { (elem) -> Bool in
    if elem == 1 { return true} // 如果该元素应该被跳过,则返回“true”;
    return false // 一旦返回' false '它将不会被再次调用。
}
print(drop)    // [2, 3, 4, 5, 1, 6, 7, 1, 8, 9]
print(numbers) // [1, 2, 3, 4, 5, 1, 6, 7, 1, 8, 9]

上一篇下一篇

猜你喜欢

热点阅读