开发者社区> 尘光掠影> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

js二维数组定义和初始化的三种方法

简介: 方法一:直接定义并且初始化,这种遇到数量少的情况可以用 var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]] 方法二:未知长度的二维数组 var tA...
+关注继续查看
方法一:直接定义并且初始化,这种遇到数量少的情况可以用

var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]]

方法二:未知长度的二维数组
var tArray = new Array();  //先声明一维
for(var k=0;k<i;k++){    //一维长度为i,i为变量,可以根据实际情况改变
 
tArray[k]=new Array();  //声明二维,每一个一维数组里面的一个元素都是一个数组;
 
for(var j=0;j<p;j++){   //一维数组里面每个元素数组可以包含的数量p,p也是一个变量;
 
tArray[k][j]="";    //这里将变量初始化,我这边统一初始化为空,后面在用所需的值覆盖里面的值
 }
}

给定义的数组传入所需的值
tArray[6][1]=5;//这样就可以将5的值传入到数组中,覆盖初始化的空

方法三:在这之前,以上两者方法都有问题,方法二,每次定义都初始化了,虽然后面可以动态修改,但是还是不方法

所以我尝试了一种动态传入值到数组的方法

ps:一些在实践过程中遇到的数组有趣的现象

本来以为二维数组可以像下面这样直接传入值
 
for(var a=0;a<i;a++){
tArray[a]=(matArray[a],addArray[a]); //matArray[a]和addArray[a]是两个数组,这两个数组直接传入tArray[a]中
};
 

结果是tArray[a]中收到的是后面一个数组的值,matArray[a]的内容被忽略的,如果换一个位置,matArray[a]在后面,则传入的是addArray[a]的值。

思考:简单的例子:

代码如下:

var a=[1,2];

var b=[];

b[0]=a;//把数组a作为b数组的元素传入b数组中

alert(b[0][1]);  //2


上面是最简单的二维数组,

上面例子换种写法:

代码如下:


var b=[];

b[0]=[1,2];//把数组[1,2]作为b数组的元素传入b数组中

alert(b[0][1]);  //2


可以看出上面的b[0]=[1,2]是可以用的

代码如下:

for(var a=0;a<i;a++){

tArray[a]=[ matArray[a],addArray[a] ];  上面例子中的()修改为[] 就可以成功的组成一个二维数组了

};

总结:方法三:

代码如下:

for(var a=0;a<i;a++){

tArray[a]=[ aArray[a],bArray[a],cArray[a]]; 还可以增加dArray[a],eArray[a]

};

这种情况适用于已知几个数组,把他们组合成一个二维数组情况


JS 创建多维数组

<script>
  var allarray=new Array();
  var res="";
  function loaddata()
  {
   for(var i=0;i<3;i++)
 {
 var starth=i*200;
 var strarw=i*200;
 var endh=(i+1)*200;
 var endw=(i+1)*200;
 allarray[i]=new Array();
 allarray[i][0]=new Array();
 allarray[i][1]=new Array();
 allarray[i][0][0]=starth;
 allarray[i][0][1]=strarw;
  allarray[i][1][0]=endh;
 allarray[i][1][1]=endw;
 }
  for(var i=0;i<allarray.length;i++)
  {
    var sh=allarray[i][0][0];
    var sw=allarray[i][0][1]
     var eh=allarray[i][1][0];
    var ew=allarray[i][1][1]
    res+="第"+i+"个坐标的开始坐标是:"+sh+","+sw+"结束坐标是:"+eh+","+ew+"<br/>";
  }
  document.getElementById("dv").innerHTML=res;
  }
</script>


 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
js一维数组转二维数组
js一维数组转二维数组
0 0
JS 离谱到给离谱它妈开门之二维数组创建
每日笑话之用 JS 创建二维数组,今天做一道 leetcode 题,想着需要创建一个二维数组,赋值初始化为 0,用 C、C++ 和 Java 的家人们可能疑惑了,这有什么?不就一行代码的事?
0 0
从JavaScript二维数组排序说开去(2)
从JavaScript二维数组排序说开去(2)
0 0
从JavaScript二维数组排序说开去(1)
从JavaScript二维数组排序说开去(1)
0 0
JavaScript题解剑指offer : 04. 二维数组中的查找
JavaScript题解剑指offer : 04. 二维数组中的查找
0 0
如何在 JavaScript 中操作二维数组
二维数组在 JavaScript 开发中是比较常见的数据结构,在本文将介绍如何使用 JavaScript 创建二维数组并对其进行操作,在JavaScript中常见的数组操作方法大概 10 个左右,可以参阅《JavaScript 数组操作必须熟练运用的10个方法》。
0 0
JS将二维数组转成一维数组的方法有哪些?
前言 这是一道常见的前端面试题,也是考验JavaScript基础知识是否牢固的常见题型。在前端开发中后端可能会返回给我们一些奇怪的数据,比如说数组里面的元素也是数组,但是我们需要的是一个简单的一维数组,这个时候就需要将二维数组(或者多维数组)转化为我们需要的一维数组。也可以叫做数组扁平化。
0 0
js-将一维数组按指定长度转为二维数组
将一维数组按指定长度转为二维数组
0 0
剑指Offer——二维数组中的查找(JS实现)
剑指Offer——二维数组中的查找(JS实现)
0 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Javascript中的函数
立即下载
Javascript异步编程
立即下载
JS零基础入门教程(上册)
立即下载