假设我有一个数组,例如:

var myArray = ["Steve", "Bill", "Linus", "Bret"]

然后,我想将一个元素推入/追加到数组的末尾,以获得:

["Steve", "Bill", "Linus", "Bret", "Tim"]

我应该用什么方法呢?

如果我想在数组的前面添加一个元素呢?是否存在常数时不变?


当前回答

在Swift 4.2中: 你可以使用

myArray.append("Tim") //To add "Tim" into array

or

myArray.insert("Tim", at: 0) //Change 0 with specific location 

其他回答

要在后面加,使用+=运算符:

myArray += ["Craig"]
myArray += ["Jony", "Eddy"]

该操作符通常等价于append(contentsOf:)方法。(在非常老的Swift版本中,可以附加单个元素,而不仅仅是相同元素类型的其他集合。)

还有insert(_:at:)用于在任意下标处插入。

例如,如果您想要一个方便的函数用于开始插入,那么可以将它添加到带有扩展的Array类中。

如果数组是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{
    mutating func appendAtBeginning(newItem : Element){
        let copy = self
        self = []
        self.append(newItem)
        self.appendContentsOf(copy)
    }
}

摘自《Swift编程语言》第143页:

可以通过调用数组的append方法将新项添加到数组的末尾 或者,使用加法赋值操作符(+=)将一个新项添加到数组的末尾。

摘自:苹果公司《快速编程语言》。“iBooks。https://itun.es/us/jEUH0.l