Поэтому в моем javascript у меня есть огромный массив 1D, и я хочу преобразовать его в 2D-массив. Это то, что я до сих пор, но, похоже, не работает.
var arrLines = strRawContents.split(",");
var array2;
for (int i = 0; i < 98; i++) {
for (int j = 0; j < 5; j++) {
array2[i][j] = arrLines[(j * 98) + i];
}
}
return arrLines
}
Это то, что я сейчас имею, где я пытаюсь сделать 98 строк и в каждой строке, есть 5 столбцов. Моя цель сложная. Если мой 1D-массив должен был быть [1,2,3,4,5,6,7,8,9,10 и т.д.], Мой 2D-массив в [0] [0] должен быть равен 1, [0] [1] должно быть 2 и так далее, пока [0] [7] не будет 8, тогда [1] [0] будет 9, [1] [1] будет 10 и так далее.
В каждом внешнем цикле создайте массив. Во внутреннем цикле вставьте содержимое в него, в конце внешнего цикла, нажмите этот вновь созданный массив в последний 2-й массив.
var arrLines = strRawContents.split(",");
var array2 = [];
for (var i = 0; i < 98; i++) {
var arr = [];
for (var j = 0; j < 5; j++) {
arr.push(arrLines[(i * 5) + j]);
}
array2.push(arr);
}
return arr2;
Некоторые ошибки в исходном коде:
array2
как пустой массив.int
. Используйте var
или let
(let
предпочтительнее, но не все браузеры поддерживают его еще.(i * 5) + j
not (j * 98) + i
.array2
.