【发布时间】:2021-04-26 09:25:07
【问题描述】:
我有一个这样的二维数组:
const matrix = [
[0, 0, 0, 0],
[0, 2, 1, 0],
[0, 1, 2, 0],
[0, 0, 0, 0]
]
如果给定单元格的x 和y,例如2 和1(matrix[2][1] 是1),我怎样才能找到所有对角线(两个数组,每个其中包含对角线中每个单元格的点以正确的顺序)通过提供的单元格?矩阵(数组)始终是对称的正方形(准确地说,我有一个 8x8 的网格)。
例子:
const matrix = [
[0, 0, 0, 0],
[0, 2, 1, 0],
[0, 1, 2, 0],
[0, 0, 0, 0]
];
const cellX = 2, cellY = 1;
// Code ...
const diagonalFromTopLeft = [0, 1, 0];
const diagonalFromTopRight = [0, 1, 1, 0]
如果你能找到每条线,而不仅仅是对角线(垂直和水平,但我自己能弄明白),就会得到加分。
【问题讨论】:
-
我假设输入矩阵并不总是对称的,对吧?
-
另外,输入矩阵是否总是正方形的?
-
@yunzen 它们总是对称的和方形的,尽管它们会更大。确切地说,我将有一个 8x8 网格。
-
@trincot 都是从 0 开始的。我解决了这个问题
-
是的@trincot。感谢您指出了这一点。我修好了
标签: javascript arrays multidimensional-array