JS 声明二维数组

232 阅读1分钟

用JS来声明二维数组m * n,并设置初始value。 总结了下面的三种方法。

// 声明二维数组
function generateArray1(m, n, value) {
  let arr2d = Array(m);
  for (let i = 0; i < m; i++) {
    arr2d[i] = Array(n).fill(value);
  }
  return arr2d;
}

function generateArray2(m, n, value) {
  let res = Array(m)
    .fill()
    .map(() => Array(n).fill(value));
  return res;
}

function generateArray3(m, n, value) {
  let res = Array.from(Array(m), () => Array(n).fill(value));
  return res;
}

console.log(generateArray1(5, 4, 1));
console.log(generateArray2(4, 3, 2));
console.log(generateArray2(3, 2, 3));
//输出结果
output1:
[
  [ 1, 1, 1, 1 ],
  [ 1, 1, 1, 1 ],
  [ 1, 1, 1, 1 ],
  [ 1, 1, 1, 1 ],
  [ 1, 1, 1, 1 ]
]

output2:
[ [ 2, 2, 2 ], [ 2, 2, 2 ], [ 2, 2, 2 ], [ 2, 2, 2 ] ]

output3:
[ [ 3, 3 ], [ 3, 3 ], [ 3, 3 ] ]