假设我有一个数组,例如:
var myArray = ["Steve", "Bill", "Linus", "Bret"]
然后,我想将一个元素推入/追加到数组的末尾,以获得:
["Steve", "Bill", "Linus", "Bret", "Tim"]
我应该用什么方法呢?
如果我想在数组的前面添加一个元素呢?是否存在常数时不变?
假设我有一个数组,例如:
var myArray = ["Steve", "Bill", "Linus", "Bret"]
然后,我想将一个元素推入/追加到数组的末尾,以获得:
["Steve", "Bill", "Linus", "Bret", "Tim"]
我应该用什么方法呢?
如果我想在数组的前面添加一个元素呢?是否存在常数时不变?
当前回答
你可以用
Myarray.insert("Data #\(index)", atIndex: index)
其他回答
使用+=和+运算符:
extension Array {
}
func += <V> (inout left: [V], right: V) {
left.append(right)
}
func + <V>(left: Array<V>, right: V) -> Array<V>
{
var map = Array<V>()
for (v) in left {
map.append(v)
}
map.append(right)
return map
}
然后使用:
var list = [AnyObject]()
list += "hello"
list += ["hello", "world!"]
var list2 = list + "anything"
这是一个小扩展,如果你希望插入在数组的开始,而不失去在第一个位置的项目
extension Array{
mutating func appendAtBeginning(newItem : Element){
let copy = self
self = []
self.append(newItem)
self.appendContentsOf(copy)
}
}
从Swift 3 / 4 / 5开始,这样做。
向数组的末尾添加一个新元素。
anArray.append("This String")
将不同的数组附加到数组的末尾。
anArray += ["Moar", "Strings"]
anArray.append(contentsOf: ["Moar", "Strings"])
向数组中插入一个新元素。
anArray.insert("This String", at: 0)
将不同数组的内容插入到数组中。
anArray.insert(contentsOf: ["Moar", "Strings"], at: 0)
更多信息可以在“Swift编程语言”的“集合类型”一章中找到,从第110页开始。
如果想追加唯一对象,可以展开数组结构
extension Array where Element: Equatable {
mutating func appendUniqueObject(object: Generator.Element) {
if contains(object) == false {
append(object)
}
}
}
摘自《Swift编程语言》第143页:
可以通过调用数组的append方法将新项添加到数组的末尾 或者,使用加法赋值操作符(+=)将一个新项添加到数组的末尾。
摘自:苹果公司《快速编程语言》。“iBooks。https://itun.es/us/jEUH0.l