zoukankan      html  css  js  c++  java
  • swift 数组 的一些快速方法

    1. filter (过滤器):返回符合条件的一个数组
                    let arr = [1,5,6,7,10,0]
                   //写法1
                    let arr1 = arr.filter { (item) -> Bool in
                        return item % 2 == 0
                    }
                   
                     //写法2
                    let resultArray = arr.filter { return $0%2 == 0 }
        
                     //写法3
                    let arr2 = arr.filter({return $0%2 == 0})
    

      

    2.index(符合条件的索引):返回int值
                    let arr = [1,5,6,7,10,0]
                    //写法1:swift 4.0
                    let index = arr.index(where: {$0 == 1})
                    
                    //swift4.2  firstIndex:从前往后遍历,
                    let index2 = arr.firstIndex(where:{$0 == 1})
                    let index3 = arr.firstIndex { (item) -> Bool in
                        return item == 1
                    }
                    
                    //lastIndex:c从后往前遍历
                    let index4 = arr.lastIndex(where:{$0 == 1})
                    
                    let index5 = arr.lastIndex(of: 5)
                    if index5 != nil{
                        print("打印一下")
                    }
    

      

    3. contains(包含):返回bool值
                    let arr = [1,5,6,7,10,0]
                    //写法1
                    let isContains = arr.contains(where: {$0 == 3})
                    //写法2
                    let isContains1 = arr.contains { (item) -> Bool in
                        return item == 100
                    }
                    //写法3 直接调用函数
                     arr.contains(10)
                    print(arr.contains(3))
    

      

    4. foreach: 和for in快速遍历 类似, 但是return 条件时,返回不一样
    
            if self.view.subviews.count > 0{
                self.view.subviews.forEach({$0.removeFromSuperview()})
            }
    
    注意点:
    在使用return关键字的时候,很明显,for in中是当符合当前执行语句时,程序直接终止到此并返回, 比如上面的元素 "4"、"5"、"Hello World" 没有被执行;而forEach中是当符合当前执行语句时,程序跳过本次判断继续执行, 比如上面的元素"4"、"5"、"Hello World"被执行。
    foreach: 和for in 具体区别:https://www.jianshu.com/p/0f75c23773b5

      

    数组的  compactMap 添加每个元素
    
     let numberArr :[Substring]= “123,5215614,”.split(separator: ",")
     
     let arrayStrings: [String] = numberArr.compactMap { "($0)" }
  • 相关阅读:
    1388:Lake Counting
    1253 Dungeon Master
    Ubuntu18.04下可以完美运行Quake3 Arena
    Windows下python3生成UTF8的CSV文件和sha256sum踩坑记录
    ROM后缀含义
    Ubuntu18.04下的模拟神器RetroArch
    廉价的SUP掌机拆解
    Python3连接MySQL
    Ubuntu18.04的网络管理netplan和防火墙ufw
    Ubuntu18.04命令行连接WiFi
  • 原文地址:https://www.cnblogs.com/qingzZ/p/9835821.html
Copyright © 2011-2022 走看看