Чтобы преобразовать массив в матрицу в JavaScript, вы можете использовать несколько методов. Вот несколько подходов:
Метод 1: использование цикла
function convertToMatrix(array, rows, columns) {
var matrix = [];
var index = 0;
for (var i = 0; i < rows; i++) {
matrix[i] = [];
for (var j = 0; j < columns; j++) {
if (index < array.length) {
matrix[i][j] = array[index];
index++;
} else {
matrix[i][j] = null; // or any other default value
}
}
}
return matrix;
}
var array = [1, 2, 3, 4, 5, 6];
var matrix = convertToMatrix(array, 2, 3);
console.log(matrix);
Метод 2: использование среза() и карты()
function convertToMatrix(array, rows, columns) {
var matrix = [];
for (var i = 0; i < rows; i++) {
matrix.push(array.slice(i * columns, (i + 1) * columns));
}
return matrix;
}
var array = [1, 2, 3, 4, 5, 6];
var matrix = convertToMatrix(array, 2, 3);
console.log(matrix);
Метод 3: использование методов уменьшения() и сращивания()
function convertToMatrix(array, rows, columns) {
return array.reduce(function (result, item, index) {
if (index % columns === 0) {
result.push(array.slice(index, index + columns));
}
return result;
}, []);
}
var array = [1, 2, 3, 4, 5, 6];
var matrix = convertToMatrix(array, 2, 3);
console.log(matrix);