Swift 3.0 Array 函數(shù)應(yīng)用

        let numbers = [1, 2, 3, 4, 5, 6, 7, 8]
        let multiply: (Int, Int) -> Int = {x, y in x * y }
        let total1 = numbers.reduce(3, multiply)
        print(total1) // 120960
        
        let total2 = numbers.reduce(3, {$0 * $1} )
        print(total2) // 120960
        
        let total3 = numbers.reduce(3, {(x: Int, y: Int) in
            x * y
        })
        print(total3) // 120960
        let total4 = numbers.reduce(3, {(x, y) in
            x * y
        })
        print(total4) // 120960

reduce 取出數(shù)組中每一個元素,進(jìn)行閉包中的操作,并返回與下一個元素進(jìn)行閉包中的操作,直至結(jié)束,返回最終值,以上三種閉包用法都可以。

        let numbers = [1, 2, 3, 4]
        let mapped = numbers.map { Array(repeating: $0, count: $0) }
        print(mapped) // [[1], [2, 2], [3, 3, 3], [4, 4, 4, 4]]
        let flatMapped = numbers.flatMap { Array(repeating: $0, count: $0) }
        print(flatMapped) // [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]

map 取出數(shù)組中的每一個元素,進(jìn)行閉包中的操作,然后返回一個元素,組成新的數(shù)組
Array(repeating: 0, count:0) 返回一個數(shù)組,重復(fù)repeating count次
例如Array(repeating: 9, count: 3) 返回[9,9,9]
flatMap 取出數(shù)組中的元素,進(jìn)行閉包中的變換,返回為一個single-level數(shù)組,并且會將nil值去掉

        let cast = ["Vivien", "Marlon", "Kim", "Karl"]
        let shortNames = cast.filter { $0.characters.count < 5 }
        print(shortNames) // ["Kim", "Karl"]

filter 過濾集合中的元素。返回符合條件的集合

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 86.復(fù)合 Cases 共享相同代碼塊的多個switch 分支 分支可以合并, 寫在分支后用逗號分開。如果任何模式...
    無灃閱讀 1,556評論 1 5
  • 數(shù)組是一種可變的、可索引的數(shù)據(jù)集合。在Scala中用Array[T]的形式來表示Java中的數(shù)組形式 T[]。 v...
    時待吾閱讀 1,066評論 0 0
  • * 安裝配置 1、把 https://github.com/zalando/SwiftMonkey 下載下來。2、...
    by小杰閱讀 1,291評論 0 2
  • 家里又降溫了,只有一度,我只擔(dān)心我孫女,溫度波動幅度太大了,時高時低的,我寶寶能適應(yīng)嗎?你通行,奶奶相信你一定行!...
    寒江雪810閱讀 306評論 0 0
  • 免于一些責(zé)任和浮有一些責(zé)任是有一些區(qū)別的,比如說當(dāng)一個人實現(xiàn)財富自由之后,就完全不需要為別人打工了,也就是免去許...
    falseplanet閱讀 140評論 0 0

友情鏈接更多精彩內(nèi)容