假设我有一个数组,例如:
var myArray = ["Steve", "Bill", "Linus", "Bret"]
然后,我想将一个元素推入/追加到数组的末尾,以获得:
["Steve", "Bill", "Linus", "Bret", "Tim"]
我应该用什么方法呢?
如果我想在数组的前面添加一个元素呢?是否存在常数时不变?
假设我有一个数组,例如:
var myArray = ["Steve", "Bill", "Linus", "Bret"]
然后,我想将一个元素推入/追加到数组的末尾,以获得:
["Steve", "Bill", "Linus", "Bret", "Tim"]
我应该用什么方法呢?
如果我想在数组的前面添加一个元素呢?是否存在常数时不变?
当前回答
摘自《Swift编程语言》第143页:
可以通过调用数组的append方法将新项添加到数组的末尾 或者,使用加法赋值操作符(+=)将一个新项添加到数组的末尾。
摘自:苹果公司《快速编程语言》。“iBooks。https://itun.es/us/jEUH0.l
其他回答
这是一个小扩展,如果你希望插入在数组的开始,而不失去在第一个位置的项目
extension Array{
mutating func appendAtBeginning(newItem : Element){
let copy = self
self = []
self.append(newItem)
self.appendContentsOf(copy)
}
}
在Swift 4.1和Xcode 9.4.1中
我们基本上可以用两种方式向数组中添加对象
let stringOne = "One"
let strigTwo = "Two"
let stringThree = "Three"
var array:[String] = []//If your array is string type
1型)
//To append elements at the end
array.append(stringOne)
array.append(stringThree)
2型)
//To add elements at specific index
array.insert(strigTwo, at: 1)
如果你想添加两个数组
var array1 = [1,2,3,4,5]
let array2 = [6,7,8,9]
let array3 = array1+array2
print(array3)
array1.append(contentsOf: array2)
print(array1)
如果数组是NSArray,你可以使用add函数添加数组末尾的任何对象,如下所示:
斯威夫特4.2
var myArray: NSArray = []
let firstElement: String = "First element"
let secondElement: String = "Second element"
// Process to add the elements to the array
myArray.adding(firstElement)
myArray.adding(secondElement)
结果:
print(myArray)
// ["First element", "Second element"]
这是一个非常简单的方法,问候!
我相信是Swift 5.3。
普通数组wasvar myArray = ["Steve", "Bill", "Linus", "Bret"] 并且你想将“Tim”添加到数组中,那么你可以使用myArray。insert("Tim", at=*index*),所以如果你想把它添加到数组的后面,那么你可以使用myArray。append(“Tim”,at: 3)
如果想追加唯一对象,可以展开数组结构
extension Array where Element: Equatable {
mutating func appendUniqueObject(object: Generator.Element) {
if contains(object) == false {
append(object)
}
}
}