如何将两个单独的数组组合成单个字典数组?
How to combine two separate arrays to single array of dictionaries?
给定两个单独的数组,我想将它们组合成一个字典数组。
例如,给定:
var array = ["myDataOne", "myDataTwo", "myDataThree", "myDataFour"]
var array_second = ["apple", "banana", "orange", "kiwi"]
我希望我的数组看起来像:
dictionnary[0] -> dataOne: "myDataOne", dataSecond: "apple"
dictionnary[1] -> dataOne: "myDataTwo", dataSecond: "banana"
dictionnary[2] -> dataOne: "myDataThree", dataSecond: "orange"
dictionnary[3] -> dataOne: "myDataFour", dataSecond: "kiwi"
我在 Swift 2 中使用 Xcode 7 B5 进行编码。
EDIT :澄清一下,实际上最终数组应该是这样的:
[[dataOne: "myDataOne", dataSecond: "apple"],[dataOne: "myDataTwo", dataSecond: "banana"],[dataOne: "myDataThree", dataSecond: "orange"],[dataOne: "myDataFour", dataSecond: "kiwi"]]
所以 array[0]
必须 return 类似 [dataOne: "myDataOne", dataSecond: "apple"]
的东西,如果我这样做 array[0].dataOne
它必须 return "myDataOne".
典型的程序方法是:
var result = [[String: String]]()
for var i = 0; i < array.count; i++ {
result.append(["dataOne": array[i], "dataSecond" : array_second[i]])
}
--
您也可以在功能上执行此操作:
let result = zip(array, array_second).map { ["dataOne" : [=11=].0, "dataSecond" : [=11=].1] }
给定两个单独的数组,我想将它们组合成一个字典数组。
例如,给定:
var array = ["myDataOne", "myDataTwo", "myDataThree", "myDataFour"]
var array_second = ["apple", "banana", "orange", "kiwi"]
我希望我的数组看起来像:
dictionnary[0] -> dataOne: "myDataOne", dataSecond: "apple"
dictionnary[1] -> dataOne: "myDataTwo", dataSecond: "banana"
dictionnary[2] -> dataOne: "myDataThree", dataSecond: "orange"
dictionnary[3] -> dataOne: "myDataFour", dataSecond: "kiwi"
我在 Swift 2 中使用 Xcode 7 B5 进行编码。
EDIT :澄清一下,实际上最终数组应该是这样的:
[[dataOne: "myDataOne", dataSecond: "apple"],[dataOne: "myDataTwo", dataSecond: "banana"],[dataOne: "myDataThree", dataSecond: "orange"],[dataOne: "myDataFour", dataSecond: "kiwi"]]
所以 array[0]
必须 return 类似 [dataOne: "myDataOne", dataSecond: "apple"]
的东西,如果我这样做 array[0].dataOne
它必须 return "myDataOne".
典型的程序方法是:
var result = [[String: String]]()
for var i = 0; i < array.count; i++ {
result.append(["dataOne": array[i], "dataSecond" : array_second[i]])
}
--
您也可以在功能上执行此操作:
let result = zip(array, array_second).map { ["dataOne" : [=11=].0, "dataSecond" : [=11=].1] }