如何在swift 3

时间:2016-11-26 12:31:40

标签: arrays swift

例如,我们有一个快速的3代码:

第一个数组[[1, 2], [3, 4]]和第二个[5, 6]

我应该使用哪个函数在第一个数组中添加第二个,如:

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

1 个答案:

答案 0 :(得分:2)

我认为你不能以这种方式改变数组,因为[[Int]]的新数组类型将与旧的[Int]不同。

您可以使用map来执行此操作:

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

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

更简洁但更紧凑的版本:(感谢Honey)

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

如果您想要就地更新,请将您的数组转发到[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] {
    ..
  }
}