Я хочу организовать многомерный массив по строкам. У меня есть функция, которая создала 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 в виде столбцов ИЛИ строк, и то и другое было бы хорошо, я просто хочу какую-то форму организации в многомерном пространстве путем добавления массива 1d (chamberOne) к многомерному массиву (returnArr).
все одинаковой длины



Предположим, у вас есть два массива, например:
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"]
Если я правильно понимаю ваш вопрос, вам нужен [[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
}
Камеры одинаковые
lengthили могут быть любой длины?