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


Posted in Javascript onMarch 03, 2014

方法一:直接定义并且初始化,这种遇到数量少的情况可以用

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传递一个带有字符串键名的二维数组,可是传递到后台,却得到了false,使用了很多种方法都不行,今天特地来介绍一下:js 数组初始化问题;

以及Ajax下传递带有字符串键名的数组如何操作

一维数组:

一维数组可以使用数字,字符串做建名。

var data = [];//不知道个数
var data = new Array(); //不知道个数

如果知道个数,具体数值可以用:

var data = new Array(1);
data['a'] = 'a';

或者

var data= ['a'];

二维数组:

二维数组不支持字符串键名。

一:

var data = [];
data.push(['a']);

var data_1 = ['a'];d
ata[0]=data_1;

二:

var data=new Array();
for(var i=0;i<2;i++){
data[i]=new Array(); 
for(var j=0;j<2;j++){
data[i][j]=1;
}

提醒:

在使用Ajax传递数据时,js数组必须是数字键名。

如果要使用字符串做建名,要通过对象的形式:如下:

var data ={
'a':{'id':1,'url':h}
};

这篇文章介绍这了。

JS 二维数组的定义及长度判断

动态定义二维数组:

1.先定义一维:

var arr = new Array();

2.定义二维:

arr[0] = new Array();

arr[1] = new Array();

3.给数组赋值:

arr[0][0] = "00";

arr[0][1] = "01";

arr[1][0] = "10";

arr[1][1] = "11";

4.判断数组长度:

二维数组的行数:arr.length

相应行的列数:arr[0].length //第一行的长度 以上例来算此值为2

5.数组的调用:

很简单:var str = arr[0][0];

Javascript 相关文章推荐
js 发个判断字符串是否为符合标准的函数
Apr 27 Javascript
javascript正则匹配汉字、数字、字母、下划线
Apr 10 Javascript
jquery 扑捉回车键事件代码
Apr 24 Javascript
JS实现无限级网页折叠菜单(类似树形菜单)效果代码
Sep 17 Javascript
jQuery实现的网页左侧在线客服效果代码
Oct 23 Javascript
Javascript 字符串模板的简单实现
Feb 13 Javascript
js中获取 table节点各tr及td的内容简单实例
Oct 14 Javascript
AngularJS使用ng-repeat和ng-if实现数据的删选显示效果示例【适用于表单数据的显示】
Dec 13 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
Sep 23 Javascript
JavaScript将数组转换为链表的方法
Feb 16 Javascript
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
Apr 25 Javascript
关于JavaScript中异步/等待的用法与理解
Nov 18 Javascript
JS二维数组的定义说明
Mar 03 #Javascript
js处理自己不能定义二维数组的方法详解
Mar 03 #Javascript
js之ActiveX控件使用说明 new ActiveXObject()
Mar 03 #Javascript
JS中的log对象获取以及debug的写法介绍
Mar 03 #Javascript
SeaJS入门教程系列之完整示例(三)
Mar 03 #Javascript
jquery实现点击弹出层效果的简单实例
Mar 03 #Javascript
jquery实现弹出层完美居中效果
Mar 03 #Javascript
You might like
DC《神奇女侠2》因疫情推迟上映 温子仁新恐怖片《恶性》撤档
2020/04/09 欧美动漫
PHP目录函数实现创建、读取目录教程实例
2011/01/13 PHP
Laravel基础-关于引入公共文件的两种方式
2019/10/18 PHP
从javascript语言本身谈项目实战
2006/12/27 Javascript
Javascript 类与静态类的实现(续)
2010/04/02 Javascript
jQuery创建插件的代码分析
2011/04/14 Javascript
鼠标选择动态改变网页背景颜色的JS代码
2013/12/10 Javascript
javascript实现连续赋值
2015/08/10 Javascript
JavaScript继承学习笔记【新手必看】
2016/05/10 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
2016/08/11 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
2016/09/18 Javascript
开发中常用的25个JavaScript单行代码(小结)
2019/06/28 Javascript
node爬取新型冠状病毒的疫情实时动态
2020/02/06 Javascript
vue与iframe之间的信息交互的实现
2020/04/08 Javascript
jQuery实现推拉门效果
2020/10/19 jQuery
[12:29]《一刀刀一天》之DOTA全时刻19:蝙蝠骑士田伯光再度不举
2014/06/10 DOTA
[05:02]2014DOTA2 TI中国区预选赛精彩TOPPLAY第三弹
2014/06/25 DOTA
[01:12:44]VG vs Mineski Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
Python设计足球联赛赛程表程序的思路与简单实现示例
2016/06/28 Python
详解python脚本自动生成需要文件实例代码
2017/02/04 Python
Python参数类型以及常见的坑详解
2019/07/08 Python
基于Tensorflow使用CPU而不用GPU问题的解决
2020/02/07 Python
Python中关于logging模块的学习笔记
2020/06/03 Python
Python pexpect模块及shell脚本except原理解析
2020/08/03 Python
用python实现前向分词最大匹配算法的示例代码
2020/08/06 Python
出纳岗位职责
2013/11/09 职场文书
社区娱乐活动方案
2014/08/21 职场文书
2014党员学习兰辉先进事迹思想汇报
2014/09/17 职场文书
个人四风问题整改措施思想汇报
2014/10/04 职场文书
九华山导游词
2015/02/03 职场文书
材料员岗位职责
2015/02/10 职场文书
教师工作证明范本
2015/06/12 职场文书
2015年新农村建设指导员工作总结
2015/07/24 职场文书
学校远程教育工作总结
2015/08/11 职场文书
Python FuzzyWuzzy实现模糊匹配
2022/04/28 Python
Python编写车票订购系统 Python实现快递收费系统
2022/08/14 Python