用下表所示的值初始化一个二维数组

问题描述 投票:0回答:1

用下表所示的值初始化一个二维数组

1   0   0   0   1   0   0   0   1   0
0   4   0   0   0   4   0   0   0   4
0   0   9   0   0   0   9   0   0   0
0   0   0   16  0   0   0   16  0   0
1   0   0   0   25  0   0   0   25  0
0   4   0   0   0   36  0   0   0   36
0   0   9   0   0   0   49  0   0   0
0   0   0   16  0   0   0   64  0   0
1   0   0   0   25  0   0   0   81  0
0   4   0   0   0   36  0   0   0  100

我尝试做对角线图案,但似乎无法执行该图案。 这是我的对角线代码。

在上图中,对角线模式似乎是在每 3 个间隔被零替换后开始

function matrixPattern() {
  let arr = [];
  let len = 10;

  for (let i = 0; i < len; i++) {
    arr[i] = [];

    for (let j = 0; j < len; j++) {
      arr[i][j] = i !== j ? 0 : (i + 1) * (j + 1)
    }
  }
  for (let i in arr) {
    let line = '';

    for (let j in arr[i]) {
      line += arr[i][j] + '\t';
    }

    console.log(line);
  }
}
matrixPattern()

javascript arrays algorithm matrix 2d
1个回答
0
投票
    function matrixPattern() {
  let arr = [];
  let len = 10;

  for (let i = 0; i < len; i++) {
    arr[i] = [];

    for (let j = 0; j < len; j++) {
      if ((i + 1) % 3 === 0 && (j + 1) % 3 === 0) {
        arr[i][j] = (i + 1) * (j + 1);
      } else {
        arr[i][j] = 0;
      }
    }
  }

  return arr;
}

console.log(matrixPattern());

这应该可行,我稍微改变了逻辑。它应该打印一个 10x10 矩阵。

© www.soinside.com 2019 - 2024. All rights reserved.