Быстро добавить новый столбец в массив

Я хочу организовать многомерный массив по строкам. У меня есть функция, которая создала 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).

Камеры одинаковые length или могут быть любой длины?

Atharva Vaidya 10.07.2019 21:09

все одинаковой длины

WhatsGoood 15.07.2019 20:18
Структурированный массив Numpy
Структурированный массив Numpy
Однако в реальных проектах я чаще всего имею дело со списками, состоящими из нескольких типов данных. Как мы можем использовать массивы numpy, чтобы...
T - 1Bits: Генерация последовательного массива
T - 1Bits: Генерация последовательного массива
По мере того, как мы пишем все больше кода, мы привыкаем к определенным способам действий. То тут, то там мы находим код, который заставляет нас...
Что такое деструктуризация массива в JavaScript?
Что такое деструктуризация массива в JavaScript?
Деструктуризация позволяет распаковывать значения из массивов и добавлять их в отдельные переменные.
0
2
229
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Предположим, у вас есть два массива, например:

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
}

Другие вопросы по теме