关于Swift中Array的常用函数
var array0 = [1, 2, 3]
var array1 = [4, 5, 6]
-
为array0添加类型为Int的元素; 无返回值, 直接改变array0
array0.append(<#T##newElement: Int##Int#>)
例子🌰:
array0.append(99) → array0: [1, 2, 3, 99]
-
为array0添加遵守 Sequence(序列) 协议的集合; 无返回值, 直接改变array0; 合并为一个数组
array0.append(contentsOf: <#T##Sequence#>)
例子🌰:
array0.append(contentsOf: array1) → array0: [1, 2, 3, 4, 5, 6]
-
插入某元素到某个位置; at: 加入到下角标为at的位置(从0开始计算). 无返回值, 直接改变array0
array0.insert(<#T##newElement: Int##Int#>, at: <#T##Int#>)
例子🌰:
array0.insert(99, at: 2) → array0: [1, 2, 99, 3]
-
插入一个遵守 Collection(集合)协议的集合; protocol Collection : Sequence; 无返回值, 直接改变array0; 合并为一个数组
array0.insert(contentsOf: <#T##Collection#>, at: <#T##Int#>)
例子🌰:
array0.insert(contentsOf: array1, at: 2) → array0: [1, 2, 4, 5, 6, 3]
-
数组转字符串; 数组中只能存放字符串
let array = ["a", "b", "c"]
// 无分隔字符串
func joined(separator: String = "") -> String 具有返回值
例子🌰:
let value = array.joined() → value: "abc"
// 根据分隔字符串进行转换
let value = array.joined(separator: "~") → value: "a~b~c"
-
字符串转数组(无分隔符的字符串分割)
let valueString = "abc"
例子🌰:
let valueArray = Array(valueString) → valueArray: ["a", "b", "c"]
例子🌰:
let valueArray = valueString.compactMap({ value -> String? in
return "\(value)"
})
→ valueArray: ["a", "b", "c"]
-
字符串转数组(分隔符的字符串分割)
方法1:
let valueString = "a#b#c"
例子🌰: 以字母"#"为分割符,将字符串分割
let valueArray = string.split(separator: "#")
→ valueArray: ["a", "b", "c"]
方法2:
let string = "a#b##c#"
例子🌰: 以字母"#"为分割符,将字符串分割
let valueArray = string.components(separatedBy: "#")
→ valueArray: ["a", "b", "", "c", ""]
在使用分隔符来分割字符串时,方法一与方法二的区别在于,如果存在两个相邻的分隔符/无用的,方法2会留存空字符串,方法1则会去掉空字符串
-
根据某元素查找此元素所在的位置
let array = [1, 2, 3]
func firstIndex(of element: Element) -> Int?
例子🌰:
let index = array.firstIndex(of: 2) → 1
网友评论