首页 > 解决方案 > 如何在javascript中的列内创建一个包含对象数组的二维数组?

问题描述

我想预定义包含对象数组的二维数组,如下图所示: 在此处输入图像描述

我正在尝试这种方式:

var grid = [];
iMax = 3;
jMax = 2;
count = 0;

    for (let i = 0; i < iMax; i++) {
      grid[i] = [];

      for (let j = 0; j < jMax; j++) {
        grid[i][j] = count;
        count++;
      }
    }

标签: javascriptnode.jsmultidimensional-arrayarrayobject

解决方案


在您的代码中,您正在构建二维数组,但是您正在使用numbers(即设置count)而不是对象数组来填充行。因此,如果您想实现与屏幕截图中提供的完全相同的结构,您可以执行以下操作:

const rows = 4;
const cols = 4;
const elementCount = 3;



function buildGrid(rows,cols, elementCount) {
  const grid = [];
  for(let i=0; i < rows; i++) {
    grid[i] = [];
    for(let j=0; j < cols; j++) {
      grid[i].push(Array.from({length:elementCount}, () => ({})));
    }

  }
  return grid;
}

const grid = buildGrid(rows,cols,elementCount);
console.log(grid);


推荐阅读