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 相关文章推荐
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
Jul 25 Javascript
Javascript 倒计时源代码.(时.分.秒) 详细注释版
May 09 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
Oct 11 Javascript
js读取csv文件并使用json显示出来
Jan 09 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
Feb 22 Javascript
JS实现一个简单的日历
Feb 22 Javascript
JS排序之快速排序详解
Apr 08 Javascript
基于bootstrap实现bootstrap中文网巨幕效果
May 02 Javascript
Vue.js常用指令的使用小结
Jun 23 Javascript
vue 微信授权登录解决方案
Apr 10 Javascript
Vue3.0数据响应式原理详解
Oct 09 Javascript
JavaScript中的全局属性与方法深入解析
Jun 14 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
dedecms模版制作使用方法
2007/04/03 PHP
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
2016/02/26 PHP
PHP中Restful api 错误提示返回值实现思路
2016/04/12 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
2019/06/14 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
一些经常会用到的Javascript检测函数
2010/05/31 Javascript
火狐下table中创建form导致两个table之间出现空白
2013/09/02 Javascript
使用原生js写的一个简单slider
2014/04/29 Javascript
Js使用WScript.Shell对象执行.bat文件和cmd命令
2014/12/18 Javascript
jQuery中mouseover事件用法实例
2014/12/26 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
2015/02/27 Javascript
原生JS实现LOADING效果
2015/03/16 Javascript
jQuery打字效果实现方法(附demo源码下载)
2015/12/18 Javascript
JavaScript自学笔记(必看篇)
2016/06/23 Javascript
jQuery+Pdo编写login登陆界面
2016/08/01 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
2017/02/16 Javascript
jQuery自定义图片上传插件实例代码
2017/04/04 jQuery
Vue.js结合Ueditor富文本编辑器的实例代码
2017/07/11 Javascript
微信小程序实现导航栏选项卡效果
2020/06/19 Javascript
Vue2.0仿饿了么webapp单页面应用详细步骤
2018/07/08 Javascript
详解为生产环境编译Angular2应用的方法
2018/12/10 Javascript
基于scrapy实现的简单蜘蛛采集程序
2015/04/17 Python
Python使用gensim计算文档相似性
2016/04/10 Python
Python可变参数用法实例分析
2017/04/02 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
2019/08/26 Python
python定义类self用法实例解析
2020/01/22 Python
快速查找Python安装路径方法
2020/02/06 Python
Django多数据库配置及逆向生成model教程
2020/03/28 Python
python和go语言的区别是什么
2020/07/20 Python
python3 kubernetes api的使用示例
2021/01/12 Python
英国高端食品和葡萄酒超市:Waitrose
2016/08/23 全球购物
维多利亚的秘密阿联酋官网:Victoria’s Secret阿联酋
2019/12/07 全球购物
西安导游词
2015/02/12 职场文书
劳动保障事务所个人工作总结
2015/08/12 职场文书
建筑工程挂靠协议书
2016/03/23 职场文书