最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Swift高階函數(shù)contains?allSatisfy?reversed?lexicographicallyPrecedes用法示例

 更新時間:2023年06月20日 11:52:12   作者:loongod  
這篇文章主要為大家介紹了Swift高階函數(shù)contains?allSatisfy?reversed?lexicographicallyPrecedes用法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

一、contains

返回一個布爾值,指示序列的每個元素是否滿足給定的條件。如果有一個滿足即返回。

     let expenses = [21.37, 55.21, 9.32, 10.18, 388.77, 11.41]
     let hasBigPurchase = expenses.contains { $0 > 100 }
     // 'hasBigPurchase' == true

Sequence協(xié)議源碼

  @inlinable
  public func contains(_ element: Element) -> Bool {
    if let result = _customContainsEquatableElement(element) {
      return result
    } else {
      return self.contains { $0 == element }
    }
  }
  @inlinable
  public func contains(
    where predicate: (Element) throws -> Bool
  ) rethrows -> Bool {
    for e in self {
      if try predicate(e) {
        return true
      }
    }
    return false
  }

二、allSatisfy

返回一個布爾值,指示序列的每個元素是否滿足給定的條件。需要所有元素都滿足。

        let names = ["Sofia", "Camilla", "Martina", "Mateo", "Nicolás"]
        let allHaveAtLeastFive = names.allSatisfy({ $0.count >= 5 })
        // allHaveAtLeastFive == true

Sequence協(xié)議源碼

allSatisfy里面調(diào)用了contains方法

  @inlinable
  public func allSatisfy(
    _ predicate: (Element) throws -> Bool
  ) rethrows -> Bool {
    return try !contains { try !predicate($0) }
  }

三、reversed

返回一個數(shù)組,該數(shù)組以相反的順序包含此序列的元素。

let list = [1, 2, 3, 4, 5]
let ret = list.reversed()
print(Array(ret))
---console
[5, 4, 3, 2, 1]

Sequence協(xié)議源碼

  @inlinable
  public __consuming func reversed() -> [Element] {
    // FIXME(performance): optimize to 1 pass?  But Array(self) can be
    // optimized to a memcpy() sometimes.  Those cases are usually collections,
    // though.
    var result = Array(self)
    let count = result.count
    for i in 0..<count/2 {
      result.swapAt(i, count - ((i + 1) as Int))
    }
    return result
  }

四、lexicographicallyPrecedes

返回一個布爾值,該值指示在字典順序(字典)中該序列是否在另一個序列之前,使用給定條件語句比較元素。

let list = [1, 2, 3, 4, 5]
let list2 = [2, 2, 3, 5]
let ret1 = list.lexicographicallyPrecedes(list2)
let ret2 = list2.lexicographicallyPrecedes(list)
print(ret1, ret2)
---console
true false

Sequence協(xié)議源碼

  @inlinable
  public func lexicographicallyPrecedes<OtherSequence: Sequence>(
    _ other: OtherSequence
  ) -> Bool where OtherSequence.Element == Element {
    return self.lexicographicallyPrecedes(other, by: <)
  }
  @inlinable
  public func lexicographicallyPrecedes<OtherSequence: Sequence>(
    _ other: OtherSequence,
    by areInIncreasingOrder: (Element, Element) throws -> Bool
  ) rethrows -> Bool 
  where OtherSequence.Element == Element {
    var iter1 = self.makeIterator()
    var iter2 = other.makeIterator()
    while true {
      if let e1 = iter1.next() {
        if let e2 = iter2.next() {
          if try areInIncreasingOrder(e1, e2) {
            return true
          }
          if try areInIncreasingOrder(e2, e1) {
            return false
          }
          continue // Equivalent
        }
        return false
      }
      return iter2.next() != nil
    }
  }

以上就是Swift高階函數(shù)contains allSatisfy reversed lexicographicallyPrecedes用法示例的詳細內(nèi)容,更多關(guān)于Swift高階函數(shù)用法的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Swift 4最全的新特性詳細解析(推薦)

    Swift 4最全的新特性詳細解析(推薦)

    Swift 4 在 Swift 3 的基礎(chǔ)上,提供了更強大的穩(wěn)健性和穩(wěn)定性。所以下面這篇文章就來給大家總結(jié)介紹關(guān)于Swift4新特性的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-11-11
  • 使用?Swift?Package?插件生成代碼的示例詳解

    使用?Swift?Package?插件生成代碼的示例詳解

    這篇文章主要介紹了使用?Swift?Package?插件生成代碼,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • switch多選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)示例詳解

    switch多選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)示例詳解

    這篇文章主要介紹了switch多選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu),本文結(jié)合示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • Swift中動態(tài)調(diào)用實例方法介紹

    Swift中動態(tài)調(diào)用實例方法介紹

    這篇文章主要介紹了Swift中動態(tài)調(diào)用實例方法介紹,在Swift中有一類很有意思的寫法,可以讓我們不直接使用實例來調(diào)用這個實例上的方法,而是通過類型取出這個類型的某個實例方法的簽名,然后再通過傳遞實例來拿到實際需要調(diào)用的方法,需要的朋友可以參考下
    2015-01-01
  • swift學習文檔(筆記)

    swift學習文檔(筆記)

    這篇文章主要介紹了學習swift的筆記,swift最近也比較熱,需要的朋友可以參考下
    2014-09-09
  • Swift如何調(diào)用Objective-C的可變參數(shù)函數(shù)詳解

    Swift如何調(diào)用Objective-C的可變參數(shù)函數(shù)詳解

    這篇文章主要給大家介紹了關(guān)于Swift如何調(diào)用Objective-C的可變參數(shù)函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用swift具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2018-03-03
  • iPhone與iWatch連接、控制、數(shù)據(jù)傳遞(Swift)的方法

    iPhone與iWatch連接、控制、數(shù)據(jù)傳遞(Swift)的方法

    這篇文章主要介紹了iPhone與iWatch連接、控制、數(shù)據(jù)傳遞(Swift)的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • Swift學習筆記之邏輯分支與循環(huán)體

    Swift學習筆記之邏輯分支與循環(huán)體

    這篇文章主要給大家介紹了關(guān)于Swift學習筆記之邏輯分支與循環(huán)體的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-12-12
  • 簡單理解插入排序算法及Swift版的代碼示例

    簡單理解插入排序算法及Swift版的代碼示例

    插入排序算法可以在已排序的序列中將要插入的元素和原有元素保持有序,這里我們來簡單理解插入排序算法及Swift版的代碼示例,需要的朋友可以參考下
    2016-07-07
  • 利用Swift實現(xiàn)各類的CATransition動畫詳解

    利用Swift實現(xiàn)各類的CATransition動畫詳解

    CATransition動畫主要在過渡時使用,比如兩個頁面層級改變的時候添加一個轉(zhuǎn)場效果。CATransition分為兩類,一類是公開的動畫效果,一類是非公開的動畫效果。這篇文章主要給大家介紹了關(guān)于如何利用Swift實現(xiàn)各類CATransition動畫的相關(guān)資料,需要的朋友可以參考下。
    2017-09-09

最新評論

社会| 紫阳县| 宽甸| 翁牛特旗| 香格里拉县| 诸暨市| 漠河县| 噶尔县| 岳西县| 若羌县| 柳河县| 贡嘎县| 杭锦后旗| 女性| 寿光市| 永福县| 滦南县| 浦城县| 察雅县| 靖宇县| 铜山县| 齐齐哈尔市| 乳源| 来安县| 宁乡县| 黎平县| 南溪县| 大荔县| 吉林市| 白银市| 将乐县| 四平市| 岑巩县| 许昌市| 聊城市| 昭觉县| 长垣县| 三原县| 上杭县| 长子县| 秀山|