我发现这个帖子在对角线遍历数组方面非常有用。但是,我在镜像它时遇到了困难。例如:
var m = 3;
var n = 4;
var a = new Array();
var b = 0;
for(var i = 0; i < m; i++) {
a[i] = new Array(n);
for(var j = 0; j < n; j++) {
a[i][j] = b;
b++;
}
}
for (var i = 0; i < m + n - 1; i++) {
var z1 = (i < n) ? 0 : i - n + 1;
var z2 = (i < m) ? 0 : i - m + 1;
for (var j = i - z2; j >= z1; j--) {
console.log(a[j][i - j]);
}
}
控制台读取[[0],[4,1],[8,5,2],[9,6,3],[10,7],[11]]
我希望它读取[[8],[4,9],[0,5,10],[1,6,11],[2,7],[3]]
已经被困了一段时间,就像魔方一样 >_<