arrays - 如何在swift 3中将数组添加到数组成员

标签 arrays swift

例如,我们有一个swift 3代码片:

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

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

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

最佳答案

我不认为你可以用那种方式改变数组,因为新数组的类型 [[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] {
    ..
  }
}

关于arrays - 如何在swift 3中将数组添加到数组成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40818350/

相关文章:

php - 按数组中的指定列对行进行分组

swift - 为什么 NSUserDefaults 不适用于 Firebase

ios - Swift 与 Objective C 指针操作问题

c - C语言中静态变量和动态变量是如何编译的

javascript - 如何读取 jQuery $.get 方法返回的对象

C - 结构数组,free 问题,在我的结构数组中赋值的问题

ios - 在 iOS 上使用 Firebase SDK 作为新设备开始

swift - 将数据从 viewcontroller tableview 传递到另一个 View Controller

ios - 在 Objective-C 框架中使用 Swift 闭包

arrays - 如果不可能,Ruby 哈希挖掘或返回 nil