我想逐行组织多维数组。我有一个函数,它从一个主数组创建了3个数组。我希望以列的形式将这些子数组添加到新数组中。
我尝试了以下几点:
/* Note
-subArray is a data structure where i have 3 values stored at each
index index. these are named data1, data2, data3. I'm accessing them
with the line chamberOne.append(thing.data1). this is referenced
from tempCount's data.
- data structure:
at index # 1
-data1
-data1
-data3
*/
static func subArray()->[String]
{
var temp = mainArray[0...11]
let tempCount = Array(temp)
var returnArr: [String] = []
var chamberOne: [String] = []
for thing in tempCount
{
chamberOne.append(thing.data1)
}
// i have 2 more functions built the same as chamberOne, but they
//are named chamberTwo and chamberThree
//as of right now I am appending like this
returnArr + chamberOne + chamberTwo + chamberThree
// this brings all the data into a single dimension array.
}我想要一种将chamberOne、chamberTwo和chamberThree追加为列或行的方法,这两种方法都可以,我只是希望通过在多维数组(returnArr)中添加一个一维数组(chamberOne),将某种形式的组织形式添加到多维空间中。
发布于 2019-07-10 19:07:57
假设有两个数组,如下所示:
var arr1 = ["a", "b", "c"]
var arr2 = ["1", "2", "3"]现在,我们创建一个包含其他数组的数组,如:
var multiDimArray = [[String]]() //Array of subarrays现在我们可以将这两个数组添加到multiDimArray中。
multiDimArray.append(arr1)
multiDimArray.append(arr2)如果我们打印multiDimArray,就会得到[["a", "b", "c"], ["1", "2", "3"]]
如果我们需要第一个“行”,我们可以通过multiDimArray[0]获得它,这将给我们["a", "b", "c"]
发布于 2019-07-10 19:11:41
如果我正确理解了你的问题,你需要一个[[String]],又名Array of Arrays of String。下面是我将如何修改您的函数以解释这一点:
static func subArray() -> [[String]]
{
var temp = mainArray[0...11]
let tempCount = Array(temp)
var returnArr: [[String]] = []
var chamberOne: [String] = []
for thing in tempCount
{
chamberOne.append(thing.data1)
}
returnArr.append(chamberOne)
//Initialise chamberTwo and chamberThree here. Then append to the 2D array.
returnArr.append(chamberTwo)
returnArr.append(chamberThree)
//The returnArr now looks like this [chamberOne, chamberTwo, chamberThree]
returnArr
}https://stackoverflow.com/questions/56976971
复制相似问题