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 相关文章推荐
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
Feb 26 Javascript
jquery 插件学习(四)
Aug 06 Javascript
关于JS控制代码暂停的实现方法分享
Oct 11 Javascript
js控制web打印(局部打印)方法整理
May 29 Javascript
js实现键盘操作实现div的移动或改变的原理及代码
Jun 23 Javascript
让checkbox不选中即将选中的checkbox不选中
Jul 11 Javascript
jQuery实现自定义下拉列表
Jan 05 Javascript
jquery trigger实现联动的方法
Feb 29 Javascript
详解AngularJS如何实现跨域请求
Aug 22 Javascript
浅谈jQuery中的$.extend方法来扩展JSON对象
Feb 12 Javascript
javascript数据类型中的一些小知识点(推荐)
Apr 18 Javascript
JS实现简单的表格增删
Jan 16 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
PHP中定义数组常量(array常量)的方法
2014/11/17 PHP
IIS下PHP的三种配置方式对比
2014/11/20 PHP
PHP开发实现微信退款功能示例
2017/11/25 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
分享别人写的一个小型js框架
2007/08/13 Javascript
js截取函数(indexOf,join等)
2010/09/01 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
2014/03/25 Javascript
JavaScript判断浏览器类型的方法
2015/02/10 Javascript
javascript实现的登陆遮罩效果汇总
2015/11/09 Javascript
javascript中this指向详解
2016/04/23 Javascript
bootstrap table动态加载数据示例代码
2017/03/25 Javascript
Node.js+ES6+dropload.js实现移动端下拉加载实例
2017/06/01 Javascript
浅谈关于.vue文件中style的scoped属性
2017/08/19 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
关于HTTP传输中gzip压缩的秘密探索分析
2018/01/12 Javascript
angularJs-$http实现百度搜索时的动态下拉框示例
2018/02/27 Javascript
解决vue A对象赋值给B对象,修改B属性会影响到A的问题
2018/09/25 Javascript
jquery实现的分页显示功能示例
2019/08/23 jQuery
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
[00:44]华丽开场!DOTA2勇士令状带来全新对阵画面
2019/05/15 DOTA
30分钟搭建Python的Flask框架并在上面编写第一个应用
2015/03/30 Python
Python Dataframe 指定多列去重、求差集的方法
2018/07/10 Python
matlab中二维插值函数interp2的使用详解
2020/04/22 Python
Python如何读取、写入JSON数据
2020/07/28 Python
Jupyter Notebook添加代码自动补全功能的实现
2021/01/07 Python
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
好人好事事迹材料
2014/02/12 职场文书
反腐倡廉警示教育活动心得体会
2014/09/04 职场文书
大学生党员个人对照检查材料范文
2014/09/25 职场文书
电工实训报告总结
2014/11/05 职场文书
2015年世界无烟日活动总结
2015/02/10 职场文书
结婚老公保证书
2015/02/26 职场文书
单身证明范本
2015/06/15 职场文书
小学生暑假安全保证书
2015/07/13 职场文书
大学生入党自我鉴定范文
2019/06/21 职场文书