美文网首页花落√莫相思
39-Swift之(For...In...)循环的再次介绍

39-Swift之(For...In...)循环的再次介绍

作者: NetWork小贱 | 来源:发表于2017-06-28 14:25 被阅读40次

    一 、 For 循环的情况说明

    情况说明:
    在程序开发当中,For循环使用的频率无疑是最高的。常用的Swift循环是递增式遍历。在Swift3.0后,C语言形式的For循环被彻底废弃。那我们怎么再去使用For 循环呢?请您往下看...

    二 、 Swift 中的一般情况下的 For .. In .. 循环

    1、对数组的循环

    /**
     Swift 的For..In.. 循环
     */
    let NumberArray = [110,119,120,112,211]
    for i in NumberArray {
        /**
         注释:这里的 “i” 不再是索引下标值,而是数组里的对象
         */
        if i == 120 {
            print("你可以去医院了!")
        }
        print(i)
    }
    

    2、对字典的循环

    let NameDictionary = ["name":"SB","name1":"EB","name2":"MD"]
    for key in NameDictionary {
         print(key)
    }
    

    3、对字符串的循环

    let StringStr = "NetWork小贱"
    for i in StringStr.characters {
        print(i)
    }
    

    三 、逐渐递增的For 循环,回到 C 语言的样式

    /**
     可以计数的For循环,是不是又回到 C 语言的样式
     */
    let CountArray = [10,20,30,40,50]
    for i in 0 ..< CountArray.count {
        print(i)
        /**
         获取数值
         */
        print(CountArray[i])
    }
    
    

    四 、递减的For 循环

    /**
     递减的For 循环
     */
    
    let DiminishArray = [100,200,300,400]
    
    for i in (0..<DiminishArray.count).reversed() {
         print(i)
        // 获取对象
        print(DiminishArray[i])
    }
    

    五、 For .. In .. 的执行过程

    /**
     For..In.. 的执行方法
     这是为遍历对象调用一个枚举方法,在对数组等结构进行遍历时,我们偶尔需要知道每次遍历的索引,那么就需要用到enumerated了,其返回对象是一个元组,形式为(x,y),x代表遍历的索引值,y代表遍历的元素
     */
    let  principleArray = [11,22,33,44]
    
    for (index ,i) in principleArray.enumerated() {
        /**
         index 是遍历元素的索引
         */
        print(index)
        /**
         i 是遍历元素的对象
         */
        print(i)
    }
    

    六 、 在For 循环中过滤一些数据

    1、 第一种写法

    /**
     我们有的时候想在循环的时候想过滤调一些不要的数据
     */
    
    let NumberFilterArray = [1,4,5,6,8,10]
    // 我们要过滤掉偶数
    for i in NumberFilterArray.filter({i in !(i%2==0)}) {
        print(i)
    }
    

    2、第二种写法

    /**
     另一种写法,获取所有偶数
     注意:
     Swift闭包可以省略参数且用$0匿名,第二个参数则用$1,以此类推。
     */
    let NumberFilterArray = [1,4,5,6,8,10]
    for i in NumberFilterArray.filter({$0%2==0}) {
        print(i)
    }
    

    相关文章

      网友评论

        本文标题:39-Swift之(For...In...)循环的再次介绍

        本文链接:https://www.haomeiwen.com/subject/evjucxtx.html