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)" }
  • 相关阅读:
    跨域请求剖析
    MongoDB 创建索引及其他
    MongoDB的常用操作总结
    Vue学习【第四篇】:Vue 之webpack打包工具的使用
    转载:官方Caffe-windows 配置与示例运行
    转载:基于HALCON的模板匹配方法总结
    机器视觉硬件相关
    opencv画出轮廓外接矩形
    转载:approxPolyDP函数
    转载:return *this和return this
  • 原文地址:https://www.cnblogs.com/qingzZ/p/9835821.html
Copyright © 2011-2022 走看看