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 相关文章推荐
Javascript 判断客户端浏览器类型代码
Mar 01 Javascript
父节点获取子节点的字符串示例代码
Feb 26 Javascript
13 款最热门的 jQuery 图像 360 度旋转插件推荐
Dec 09 Javascript
javascript封装的sqlite操作类实例
Jul 17 Javascript
深入理解Vue2.x的虚拟DOM diff原理
Sep 27 Javascript
vue2 mint-ui loadmore实现下拉刷新,上拉更多功能
Mar 21 Javascript
微信公众平台获取access_token的方法步骤
Mar 29 Javascript
深入理解vue中的slot与slot-scope
Apr 22 Javascript
vue操作动画的记录animate.css实例代码
Apr 26 Javascript
vue + axios get下载文件功能
Sep 25 Javascript
Vue移动端项目实现使用手机预览调试操作
Jul 18 Javascript
详解Vue的列表渲染
Nov 20 Vue.js
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/09/10 PHP
如何判断图片地址是否失效
2007/02/02 Javascript
JS高级拖动技术 setCapture,releaseCapture
2011/07/31 Javascript
js/jquery去掉空格,回车,换行示例代码
2013/11/05 Javascript
jQuery中$.fn的用法示例介绍
2013/11/05 Javascript
javascript实用方法总结
2015/02/06 Javascript
基于JS实现PHP的sprintf函数实例
2015/11/14 Javascript
谈谈我对JavaScript DOM事件的理解
2015/12/18 Javascript
每日十条JavaScript经验技巧(一)
2016/06/23 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
2016/11/01 Javascript
JavaScript实现一个空中避难的小游戏
2017/06/06 Javascript
基于BootStrap实现简洁注册界面
2017/07/20 Javascript
解决ionic和angular上拉加载的问题
2017/08/03 Javascript
详解Javascript中new()到底做了些什么?
2018/03/29 Javascript
vue脚手架及vue-router基本使用
2018/04/09 Javascript
微信小程序scroll-view仿拼多多横向滑动滚动条
2020/04/21 Javascript
小程序数据通信方法大全(推荐)
2019/04/15 Javascript
微信小程序页面上下滚动效果
2020/11/18 Javascript
使用python统计文件行数示例分享
2014/02/21 Python
运行django项目指定IP和端口的方法
2018/05/14 Python
python3用PIL把图片转换为RGB图片的实例
2019/07/04 Python
Python List列表对象内置方法实例详解
2019/10/22 Python
Python面向对象之私有属性和私有方法应用案例分析
2019/12/31 Python
Python简单实现区域生长方式
2020/01/16 Python
python接口自动化之ConfigParser配置文件的使用详解
2020/08/03 Python
孤独星球出版物:Lonely Planet Publications
2018/03/17 全球购物
美津浓美国官网:Mizuno美国
2018/08/07 全球购物
龟牌英国商店:Turtle Wax Brand Store UK
2019/07/02 全球购物
成龙洗发水广告词
2014/03/14 职场文书
公证委托书大全
2014/04/04 职场文书
2014年秋季开学演讲稿
2014/05/24 职场文书
精神文明建设标语
2014/06/16 职场文书
三好学生先进事迹材料
2014/08/28 职场文书
2014年创卫工作总结
2014/11/24 职场文书
建党伟业电影观后感
2015/06/01 职场文书
React + Threejs + Swiper 实现全景图效果的完整代码
2021/06/28 Javascript