2016-11-26 127 views
1

例如阵列添加到阵列的构件,我们有一个迅速3码片:如何迅速3

第一阵列[[1, 2], [3, 4]]和第二[5, 6]

哪些功能我应该使用来添加第二在第一阵列,如:

[[[1, 2], [5, 6]], [[3, 4], [5, 6]]] 

回答

2

我不认为你可以改变这样一个数组,因为这是[[Int]]新的数组的类型会比旧的[Int]不同。

您可以使用map做到这一点:

let array = [[1, 2], [3, 4]] 

let newArray = array.map { inner in 
    return [inner, [5, 6]] 
} 

更简洁,但更紧凑的版本:(感谢亲爱的)

let newArray = array.map { [$0, [5,6]] } 

如果你想就地更新不管什么,你的阵列downcast [Any]

var array: [Any] = [[1, 2], [3, 4]] 

for (index, inner) in array.enumerated() { 
    array[index] = [inner, [5, 6]] 
} 

因为你必须要访问整数在列表中,每次转换为Int[Int]这是不理想的:从第一个答案

for inner in array { 
    if let inner = inner as? [Int] { 
    .. 
    } 
} 
+0

结果数组是空的:( –

+0

我不认为你复制我的代码正确。它在我的操场上产生了[[[1,2],[5,6]],[[3,4],[5,6]]]。 – ozgur

+0

对不起。谢谢!!! –