我在数组的javascript数组中有一个N x N矩阵的一半,我需要得到这一半并在主对角线的另一侧“镜像”它。
这是一张更好地解释的图片:
主对角线是红线,我的矩阵的上半部分也需要“放置”在红线下面,形成一个完整的矩阵。
数据结构如下:
var map = [ ["0","1","2","3"], ["0", "1", "2"], ["0","1"], ["0"] ];
内有列的行。
我经常在我的问题中插入已经尝试过的东西,但在这段时间我甚至无法找到如何开始。所以,如果我不提供更多信息,我会道歉。
答案 0 :(得分:1)
这样做的一种方法是
var i = 0;
var j = 0;
var map = [ ["0","1","2","3"], ["0", "1", "2"], ["0","1"], ["0"] ];
var n = map.length;
var res = new Array(n);
for (i = 0; i < n; i++) {
res[i] = new Array(n);
for (j = 0; j < n - i; j++) {
res[i][i+j] = map[i][j];
}
}
for (i = 0; i < n; i++) {
for (j = i + 1; j < n; j++) {
res[j][i] = res[i][j];
}
}
res
将包含镜像数组