假设我有一个数组,例如:
var myArray = ["Steve", "Bill", "Linus", "Bret"]
然后,我想将一个元素推入/追加到数组的末尾,以获得:
["Steve", "Bill", "Linus", "Bret", "Tim"]
我应该用什么方法呢?
如果我想在数组的前面添加一个元素呢?是否存在常数时不变?
假设我有一个数组,例如:
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
其他回答
如果数组是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"]
这是一个非常简单的方法,问候!
这是一个小扩展,如果你希望插入在数组的开始,而不失去在第一个位置的项目
extension Array{
mutating func appendAtBeginning(newItem : Element){
let copy = self
self = []
self.append(newItem)
self.appendContentsOf(copy)
}
}
要在后面加,使用+=运算符:
myArray += ["Craig"]
myArray += ["Jony", "Eddy"]
该操作符通常等价于append(contentsOf:)方法。(在非常老的Swift版本中,可以附加单个元素,而不仅仅是相同元素类型的其他集合。)
还有insert(_:at:)用于在任意下标处插入。
例如,如果您想要一个方便的函数用于开始插入,那么可以将它添加到带有扩展的Array类中。
使用+=和+运算符:
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"
在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)