数组的重排操作
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)
print(array.reverse())
var array = [Int](1...8)
let array2 = array.reversed()
print(array)
print(array2)
3、数组的排序
- sort() 在原数组上将元素排序,只能作用于数组变量
- sorted() 返回原数组的排序结果数组,可以作用在数组变量和常量上
var array = [10, 20, 45, 30, 98, 101, 30, 4]
array.sort()
print(array.sort())
print(array)
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) 将数组以某个 条件分组,数组前半部分都是不符合条件的元素,数组后半部分都是符合条件的元素
var array = [10, 20, 45, 30, 98, 101, 30, 4]
let index = array.partition { $0 > 30 }
print(index)
let partition1 = array[..<index]
let partition2 = array[index...]
print(partition1)
print(partition2)
print(array)
5、交换数组两个元素
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())
print(array.joined(separator: ","))
2、元素为 Sequence 数组的拼接
- joined() 拼接数组里的所有元素为一个更大的 Sequence
- joined(separator:) 以给定的分隔符拼接数组里的所有元素为一个更大的 Sequence
var ranges = [0...3, 8...10, 15...17]
print(ranges.joined())
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))
|