我有一个字符串数组,想要按对角线遍历。
假设:
- 每个字符串长度相同。
- 数组可以是正方形或矩形,水平或垂直。
矩阵如下:
A B C D
E F G H
I J K L
我想获得(从左上角到右下角):
A
EB
IFC
JGD
KH
L
并且(从左下到右上):
I
JE
KFA
LGB
HC
D
我已经有一段代码可以完成3/4的工作,但是我似乎无法弄清楚我做错了什么。
//the array
var TheArray = ['ABCD','EFGH','IJKL'];
//amount of rows
var RowLength = TheArray.length;
//amount of colums
var ColumnLength = TheArray[0].length;
我所拥有的代码将对角线划分为4个循环,以获取所有的对角线。它由2个for循环组成,使用if语句来避免循环未绑定的值。伪代码如下:
for(loop rows){
var outputarray = [];
for(loop columns){
if(delimit for out of bound){
var temprow = TheArray[something?];
var tempvalue = temprow[something?];
outputarray.push(tempvalue);
}
}
//use values
document.getElementById("theDiv").innerHTML += outputarray.join("")+"<br>";
}
我希望有人能帮助我解决这个问题。