swift 4.0常用遍歷方式總結(jié).md

1、沒有了親切的C語(yǔ)言for循環(huán),先上代碼

         var hhArr:Array =[1,2,423,12,123435,2,123,12,234,563,412,3,34,12,4,45,1234,6,23,41,35,4652,34,15,234,124,21,123,23,123,123,12,3,23,4,536,23,124,5,1,24,345,124,5,1234,45,723,4,124,234,124,12,3,123,123,234,4567,546,45,67,456]

        var stratTime = CACurrentMediaTime()

        //forin 遍歷(只有value)
        for num in hhArr {

            print(num)
        }
        var duration:String = String(format: "%.7f", (CACurrentMediaTime() - stratTime))
        print("forin執(zhí)行時(shí)間\(duration) \n")
        stratTime = CACurrentMediaTime()


        //Range 遍歷 (index,value)
        for index in 0..<hhArr.count {

            print("index:\(index),value:\(hhArr[index])");
        }
        duration = String(format: "%.7f", (CACurrentMediaTime() - stratTime))
        print("Range執(zhí)行時(shí)間\(duration) \n")
        stratTime = CACurrentMediaTime()

        //enmerated 遍歷 (offset,value)
        for num in hhArr.enumerated() {
            let rs:String = "index:\(num.offset) value:\(num.element)";
            print(rs);
        }
        duration = String(format: "%.7f", (CACurrentMediaTime() - stratTime))
        print("enmerated執(zhí)行時(shí)間\(duration) \n")
        stratTime = CACurrentMediaTime()

        //enmerated 賦值遍歷 (index,value)
        for (index,value) in hhArr.enumerated() {

            print("index:\(index),value:\(value)");
        }
        duration = String(format: "%.7f", (CACurrentMediaTime() - stratTime))
        print("enmerated賦值執(zhí)行時(shí)間\(duration) \n")
        stratTime = CACurrentMediaTime()


        //enmerated 反向遍歷 (index,value)
        for (index,value) in hhArr.enumerated().reversed() {

            print("index:\(index),value:\(value)");
        }
        duration = String(format: "%.7f", (CACurrentMediaTime() - stratTime))
        print("enmerated倒序執(zhí)行時(shí)間\(duration) \n")
        stratTime = CACurrentMediaTime()

2、統(tǒng)計(jì)分析

image.png

3、結(jié)論

Range > enmerated賦值遍歷 > enmerated倒序 > enmerated遍歷value > forin 推薦大家使用swift 親兒子 Range,也就是... 或者..<

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

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