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 数组的重排操作和拼接操作

数组的重排操作

1、数组元素的随机化,可以用于歌曲的随机操作

  • shuffle() 在原数组上将数组元素打乱,只能作用在数组变量上
  • shuffled() 返回原数组的随机化数组,可以作用在数组变量和常量上
var array = [Int](1...8)
array.shuffle()  //只能作用在变量上
print(array.shuffle())  //输出: ()
print(array)
let array = [Int](1...8)  //可以作用在数组常量上
let array2 = array.shuffled()
print(array)
print(array2)

2、数组的逆序

  • reverse() 在原数组上将数组逆序,只能作用在数组变量上
  • reversed() 返回原数组的逆序“集合表示”,可以作用在数组变量和常量上,该方法不 会分配新内存空间
var array = [Int](1...8)  //只能作用在变量上
array.reverse()  //在原数组上逆序
print(array)  //输出: [8, 7, 6, 5, 4, 3, 2, 1]
print(array.reverse())  //输出: ()
var array = [Int](1...8)
let array2 = array.reversed()  //在原数组上逆序
print(array)  //输出: [1, 2, 3, 4, 5, 6, 7, 8]
print(array2)  //输出: ReversedCollection<Array<Int>>(_base: [1, 2, 3, 4, 5, 6, 7, 8])

3、数组的排序

  • sort() 在原数组上将元素排序,只能作用于数组变量
  • sorted() 返回原数组的排序结果数组,可以作用在数组变量和常量上
//正序排序
var array = [10, 20, 45, 30, 98, 101, 30, 4]
array.sort()
print(array.sort())  //输出: ()
print(array)       //输出: [4, 10, 20, 30, 30, 45, 98, 101]
var array = [10, 20, 45, 30, 98, 101, 30, 4]
let array2 = array.sorted()
print(array)   //原数组没有任何改变
print(array2)

4、数组的分组

  • partition(by belongsInSecondPartition: (Element) throws -> Bool) 将数组以某个 条件分组,数组前半部分都是不符合条件的元素,数组后半部分都是符合条件的元素
//数组的分组 partition:划开,分开,分割
var array = [10, 20, 45, 30, 98, 101, 30, 4]
let index = array.partition { $0 > 30 }
print(index)  //输出: 5
let partition1 = array[..<index]  //输出: [10, 20, 4, 30, 30]
let partition2 = array[index...]  //输出: [101, 98, 45]
print(partition1)
print(partition2)
print(array)  //原数组不变

5、交换数组两个元素

  • swapAt(: ) 交换指定位置的两个元素
var array = [10, 20, 45, 30, 98, 101, 30, 4]
array.swapAt(array.startIndex, array.endIndex - 1) //交换数组的第一个元素和最后一个元素交换
print(array)

数组的拼接操作

1、字符串数组拼接

  • joined() 拼接字符串数组里的所有元素为一个字符串
  • joined(separator:) 以给定的分隔符拼接字符串数组里的所有元素为一个字符串
var array = ["hello", "world"]
//将数组转换成字符串
print(array.joined())   //输出: helloworld
print(array.joined(separator: ","))

2、元素为 Sequence 数组的拼接

  • joined() 拼接数组里的所有元素为一个更大的 Sequence
  • joined(separator:) 以给定的分隔符拼接数组里的所有元素为一个更大的 Sequence
var ranges = [0...3, 8...10, 15...17]
print(ranges.joined())   //输出的是 Int 类型的范围序列
for range in ranges.joined() {
    print(range)
}
var numbers = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
let joined = numbers.joined(separator: [-1, -2])
print(Array(joined))  //输出: [1, 2, 3, -1, -2, 4, 5, 6, -1, -2, 7, 8, 9]
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 16:26:11  更:2022-03-03 16:27:04 
 
开发: 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:20:00-

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