Преобразование массива в матрицу в JavaScript: методы и примеры

Чтобы преобразовать массив в матрицу в 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);