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 相关文章推荐
在线编辑器中换行与内容自动提取
Apr 24 Javascript
动态加载外部javascript文件的函数代码分享
Jul 28 Javascript
Javascript玩转继承(一)
May 08 Javascript
js 中将多个逗号替换为一个逗号的代码
Jun 07 Javascript
网页实时显示服务器时间和javscript自运行时钟
Jun 09 Javascript
浅析javascript操作 cookie对象
Dec 26 Javascript
AngualrJS中每次$http请求时的一个遮罩层Directive
Jan 26 Javascript
jQuery实现级联下拉框实战(5)
Feb 08 Javascript
详解使用vue实现tab 切换操作
Jul 03 Javascript
Vue.js移动端左滑删除组件的实现代码
Sep 08 Javascript
Vue.js更改调试地址端口号的实例
Sep 19 Javascript
详解VUE中的插值( Interpolation)语法
Oct 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
PHP制作图形验证码代码分享
2014/10/23 PHP
PHP实现加密的几种方式介绍
2015/02/22 PHP
php文件类型MIME对照表(比较全)
2016/10/07 PHP
PHP基于GD2函数库实现验证码功能示例
2019/01/27 PHP
刷新页面实现方式总结(HTML,ASP,JS)
2008/11/13 Javascript
js 省地市级联选择
2010/02/07 Javascript
基于Jquery的实现回车键Enter切换焦点
2010/09/14 Javascript
js借助ActiveXObject实现创建文件
2013/09/29 Javascript
js中把JSON字符串转换成JSON对象最好的方法
2014/03/21 Javascript
JavaScript中判断原生函数检查function是否是原生代码
2014/09/09 Javascript
微信JSSDK上传图片
2015/08/23 Javascript
jQuery+css实现的换页标签栏效果
2016/01/27 Javascript
jQuery插件AjaxFileUpload实现ajax文件上传
2016/05/05 Javascript
AngularJS 指令的交互详解及实例代码
2016/09/14 Javascript
js 输入框 正则表达式(菜鸟必看教程)
2017/02/19 Javascript
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
2017/04/13 Javascript
vue.js父组件使用外部对象的方法示例
2017/04/25 Javascript
vue axios请求拦截实例代码
2018/03/29 Javascript
使用vue-cli(vue脚手架)快速搭建项目的方法
2018/05/21 Javascript
Vue CLI3搭建的项目中路径相关问题的解决
2018/09/17 Javascript
如何实现小程序tab栏下划线动画效果
2019/05/18 Javascript
Python中max函数用法实例分析
2015/07/17 Python
Python中使用多进程来实现并行处理的方法小结
2017/08/09 Python
Python使用win32 COM实现Excel的写入与保存功能示例
2018/05/03 Python
python3中eval函数用法使用简介
2019/08/02 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
python 实现的车牌识别项目
2021/01/25 Python
HTML5边玩边学(1)画布实现方法
2010/09/21 HTML / CSS
美国隐形眼镜销售网站:ContactsDirect
2017/10/28 全球购物
2014机关党员干部“正风肃纪”思想汇报
2014/09/15 职场文书
城管执法人员个人对照检查材料思想汇报
2014/09/29 职场文书
党性分析材料格式
2014/12/19 职场文书
2015学习委员工作总结范文
2015/04/03 职场文书
redis使用不当导致应用卡死bug的过程解析
2021/07/01 Redis
JS前端宏任务微任务及Event Loop使用详解
2022/07/23 Javascript
VMware虚拟机安装 Windows Server 2022的详细图文教程
2022/09/23 Servers