如果在swift中创建了两个数组,就像这样:
var a:[CGFloat] = [1, 2, 3]
var b:[CGFloat] = [4, 5, 6]
如何将它们合并为[1,2,3,4,5,6]?
如果在swift中创建了两个数组,就像这样:
var a:[CGFloat] = [1, 2, 3]
var b:[CGFloat] = [4, 5, 6]
如何将它们合并为[1,2,3,4,5,6]?
当前回答
var arrayOne = [1,2,3]
var arrayTwo = [4,5,6]
如果你想要的结果是:[1,2,3,[4,5,6]]
arrayOne.append(arrayTwo)
上面的代码将arrayOne转换为单个元素,并将其添加到arrayTwo的末尾。
如果你想要的结果是:[1,2,3,4,5,6],那么,
arrayOne.append(contentsOf: arrayTwo)
上面的代码将arrayOne的所有元素添加到arrayTwo的末尾。
谢谢。
其他回答
斯威夫特3.0
通过使用加法运算符(+)将两个类型兼容的现有数组相加,可以创建一个新数组。新数组的类型是从你相加的两个数组的类型推断出来的,
let arr0 = Array(repeating: 1, count: 3) // [1, 1, 1]
let arr1 = Array(repeating: 2, count: 6)//[2, 2, 2, 2, 2, 2]
let arr2 = arr0 + arr1 //[1, 1, 1, 2, 2, 2, 2, 2, 2]
这是上述代码的正确结果。
Swift 5阵列扩展
extension Array where Element: Sequence {
func joined() -> Array<Element.Element> {
return self.reduce([], +)
}
}
例子:
let array = [[1,2,3], [4,5,6], [7,8,9]]
print(array.joined())
//result: [1, 2, 3, 4, 5, 6, 7, 8, 9]
这是合并两个数组的最短方法。
var array1 = [1,2,3]
let array2 = [4,5,6]
连接/合并他们
array1 += array2
New value of array1 is [1,2,3,4,5,6]
不同数据类型的Marge数组:
var arrayInt = [Int]()
arrayInt.append(6)
var testArray = ["a",true,3,"b"] as [Any]
testArray.append(someInt)
输出:
["a", true, 3, "b", "hi", 3, [6]]
var arrayOne = [1,2,3]
var arrayTwo = [4,5,6]
如果你想要的结果是:[1,2,3,[4,5,6]]
arrayOne.append(arrayTwo)
上面的代码将arrayOne转换为单个元素,并将其添加到arrayTwo的末尾。
如果你想要的结果是:[1,2,3,4,5,6],那么,
arrayOne.append(contentsOf: arrayTwo)
上面的代码将arrayOne的所有元素添加到arrayTwo的末尾。
谢谢。