IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> swift中数组使用详情 -> 正文阅读

[移动开发]swift中数组使用详情

初始化一个数组

//[类型]()
 var array1=[String]()
 //Array<类型>()
var array2=Array<String>()
//将"Z"重复创建5次
var array3=Array(repeating: "z", count: 5)
//使用区间初始化一个数组
var aray4=[Int](0...7)

数组的遍历

/*
         forEach:
            无法使用break或continue跳出或者跳过循环
            使用return只能退出当前一次循环的执行体
         */
        var numbers=[Int](0...7)
        numbers.forEach { (num) in
         
            print(num*10)
        }

数组的索引和值

  /*
     
         startIndex:返回第一个元素的位置,对于数组来说,永远都是0
         endIndex:返回最后一个元素索引+1的位置,对于数组来说等同于count.
         如果数组为空,startIndex等同于endIndex.
                     */
        for (index,num) in numbers.enumerated() {
            
            print("\(index)+\(num)")
            
        }
        
        //获取索引区间
        for i in numbers.indices {
            
            print("\(i)")
        }

查找操作

  /*
       
           contains(_:)判断数组中是否包含给定元素
           contains(where:)判断数组中是否包含给定条件的元素
           allSatisfy(_:)判断数组的每一个元素都符合给定的条件
         first:返回数组中第一个元素(optional),如果数组为空,返回Nil.
         last:返回数组中最后一个元素(optional),如果数组为空,返回Nil.
         first(where:):返回数组中第一个符合给定条件的元素
         last(where:):返回数组中最后一个符合给定条件的元素
         firstIndex(of:):返回给定的元素在数组中出现的第一个位置(optional)
         lastIndex(of:):返回给定的元素在数组中出现的最后一个位置(optional)
         max():返回数组中最大元素
         min():返回数组中最小元素
        */
        var array5=[10,20,45,30,98,101,30,4];
        print(array5.allSatisfy({$0>10}))//false
        print(array5.first)//10
        print(array5.last)//4
        print(array5.first(where: {$0>25}))//45
        print(array5.last(where: {$0>25}))//30
        print(array5.firstIndex(of: 30))//3
        print(array5.lastIndex(of: 20))//1
        print(array5.max())//101
        print(array5.min())//10
        

数组的添加和删除

 var numbers2=[Int](2...7)
        numbers2.append(100)//在末尾添加一个元素
        print(numbers2)
        numbers2.append(contentsOf: 101...105)//在末尾添加多个元素
        print(numbers2)
        numbers2.insert(1, at: 0)//在指定位置插入一个元素
        numbers2.insert(contentsOf: 101...103, at: 0)//在指定位置插入多个元素
        numbers2.remove(at: 1)//移除并返回指定位置的一个元素
        numbers2.removeFirst()//移除并返回数组的第一个元素
        numbers2.popLast()//移除并返回数组中的最后一个元素(optional),数组为空返回nil
        numbers2.remove(at: 1)//移除并返回指定位置的一个元素
        numbers2.removeFirst()//移除并返回数组中的第一个元素
        numbers2.removeFirst(2)//移除数组前面多个元素
        numbers2.removeLast(2)//移除数组后面多个元素
        numbers2.removeSubrange(1...2)//移除数组中给定范围的元素
        numbers2.removeAll()//移除数组中所有元素
        numbers2.removeAll(keepingCapacity: true)//移除数组中所有元素,保留数组容量
        

ArraySlice

/*
         5.ArraySlice:
         dropFirst(:):"移除"原数组前面指定个数的元素得到一个ArraySlice
         dropLast(:):"移除"原数组后面指定个数的元素得到一个ArraySlice
         drop(:):"移除"原数组符合指定条件的元素得到一个ArraySlice
         prefix():获取数组前面指定元素个数的元素组成的ArraySlice
         prefix(upTo: ):获取数组到指定位置(不包含指定位置)前面元素组成的ArraySlice
         prefix(through: ):获取数组到指定位置(包含指定位置)前面元素组成的ArraySlice
         prefix(while: ):获取数组前面符合条件的元素(到第一个不符合条件的元素截止)组成的ArraySlice
         suffix():获取数组后面指定个数的元素组成的ArraySlice
         suffix(from:):获取数组到指定位置到结尾(包含指定位置)的元素组成的ArraySlice
         */
        
        let array6=[5,2,10,1,0,100,46,99];
        array6.dropFirst()//[2,10,1,0,100,46,99];
    
        array6.dropFirst(3)//[1,0,100,46,99];
        array6.dropLast()//[5,2,10,1,0,100,46];
        array6.dropLast(3)//[5,2,10,1,0];

数组元素的随机化:

/*
         6.数组元素的随机化:
         array6.shuffle():在原数组上将数组元素打乱,只能作用在数组变量上
         array6.shuffled():返回原数组的随机化数组,可以作用在数组变量和常量上
         array6.reverse():在原数组上将元素逆序,只能作用在数组变量上
         array6.reversed():返回原数组的逆序"集合表示",可以作用在数组变量和常量上.该方法不会分配新内存空间
         array6.partition():将数组已某个条件分组,数组前部分都是不符合条件的元素,数组后半部分都是符合条件的元素
         array6.sort():在原数组上将元素排序,只能作用在数组变量上
         array6.sortd():返回原数组的排序结果数组,可以作用在数组变量和常量上
         array6.swapAt(<#T##i: Int##Int#>, <#T##j: Int##Int#>):交换指定位置的两个元素
         */

字符串数组拼接:

 
        /*
      
         joined():拼接字符串数组里的所有元素为一个字符串
         joined(sequence:):以给定的分隔符拼接字符串数组里的所有元素为一个字符串

         */
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:41:17  更:2022-03-10 22:42:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 16:24:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码