学习js第一天:关于二维数组转置问题

第一天学习js,在二维数组转置停了下来。感觉js在这个问题好麻烦啊,用c马上就解决了。以下是从网上找的老哥的方法:

<html>
<head>
<script>
var a=[[1,2,3],[4,5,6]];
var b=[];
for(var i=0;i<a[0].length;i++)
b[i]=[];
for(var i=0;i<a.length;i++)
for(var j=0;j<a[i].length;j++)
b[j][i]=a[i][j];
for(var i=0;i<b.length;i++)
{
 for(var j=0;j<b[i].length;j++)
document.writeln(b[i][j]);
document.writeln("<br/>");
}
</script>
</script>
</head>
<body>
</body>
</html>

 借鉴网址:https://zhidao.baidu.com/question/1307973099237140659     

 以下说说自己探究所得:      

1. 定义一个一维数组可以直接 var a;但是定义一个二维数组只能var a=[],然后在另数组a的每一个元素都为数组。用var a是不能表示a为 一个二维数组的。

2.在b[j][i]=a[i][j];时,不能写成b[i][j]=a[j][i];  我想原因可能是在于对数组a进行遍历,是一行行地遍历,到遍历到了第二行,也就意味着a第一行的元素已经被遍历完了。

3.输出换行是document.writeln("<br/>");而不是 document.writeln(<br/>);  两个引号不能省,哈哈。                          

4.之前是想着定义二维数组这么定义的:var a=[][];后来发现这么做也是做的,赋值进不去

ps:第一次写博客,好难受,换行都不习惯。敲个回车竟然给我出个这个什么东西。。。

猜你喜欢

转载自blog.csdn.net/smart_ferry/article/details/79631209