2016-11-26 123 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

對不起。謝謝!!! –