JavaScript

Как правильно распечатать элементы ?

Подскажите пожалуйста в чём ошибка. Всего лишь хотел расспечатать элементы. Распечатывает undefined. Ну что правда нужное количество раз :) как задавал

var bigArray=[];
var x;
var arRow=Number(prompt("Enter array row numbers"));
var arCol=Number(prompt("Enter array column numbers"));

for (var i =0; i<arCol; i++)
{

for (var j =0; j<arRow; j++)
{
x=Number(prompt('Enter matrix elements'));
bigArray.push(x);
document.write(bigArray[i][j]);
}
}
пытаешься с одномерного массивы вытянуть двумерное значение

push кладет в конец массива 1 элемент. Распечатать можно так ...write("i:"+i +"j:"+j)

или в первом цикле делать push([])
Александр Ходырев
Александр Ходырев
1 948
Лучший ответ
Дмитрий Плотников да, я сейчас сообразил что он не записывает как двумерный
Дмитрий Плотников ну помогите написать чтоб матрицу расспечатал целиком
const integer = (msg = "") => {
let number;
do {
number = Number.parseInt(prompt(msg));
} while (Number.isNaN(number));
return number;
};
const craete = (rows, cols) => {
let matrix = [];
for (let r = 0; r < rows; r += 1) {
let row = [];
for (let c = 0; c < cols; c += 1) {
let value = integer("Введите элемент матрицы");
row.push(value);
}
matrix.push(row);
}
return matrix;
};
const result = (matrix) => {
let res = "";
for (let row of matrix) {
for (let value of row) {
res += value + " ";
}
res += "<br />";
}
return res;
};
const print = (result) => {
document.write(result);
};
let rows, cols, matrix, res;
rows = integer("Введите количество строк матрицы");
cols = integer("Введите количество столбцов матрицы");
matrix = craete(rows, cols);
res = result(matrix);
print(res);
Дмитрий Плотников Очень большой код
может такой ввод побыстрей
мульти ввод значений матрицы
рабочий пример https://jsfiddle.net/flashfx/LvymctyL/

var arRow = Number( prompt("Enter array row numbers", 2 )) ;
var arCol = Number( prompt("Enter array column numbers", 3 )) ;

function multi_rows(cols, rows ) {
var matrix = [];
for (var i = 0; i < rows; i++) {
var s = prompt("введите "+cols+" значения \n через запятую \n например 1, 22, 320, и тд ", "1, 20, 30" );
s = s.replace(/^\,|\s|\,$/g, "");
var nums = s.split(",").splice(0, cols ); // срез если ввели лишнего
nums = nums.map( function(v){ return Number(v);} );
matrix[i] = nums;
}
return matrix;
}

var bigArray = multi_rows( arCol, arRow );
// вывод значений
bigArray.forEach( function (nitem, idx) {
document.body.innerHTML += "" + idx + " => [ " + nitem.join(" | ") + " ] ";
})