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 表格工具集
Apr 25 Javascript
jquery 单击li防止重复加载的实现代码
Dec 24 Javascript
js实现单一html页面两套css切换代码
Apr 11 Javascript
Javascript基础教程之数组 array
Jan 18 Javascript
jquery实现图片左右切换的方法
May 07 Javascript
Java Mybatis框架入门基础教程
Sep 21 Javascript
AngularJs Javascript MVC 框架
Jun 20 Javascript
DWR3 访问WEB元素的两种方法实例详解
Jan 03 Javascript
解决Angular2 router.navigate刷新页面的问题
Aug 31 Javascript
JavaScript交换两个变量方法实例
Nov 25 Javascript
解决vue初始化项目一直停在downloading template的问题
Nov 09 Javascript
JS如何使用剪贴板操作Clipboard API
May 17 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网页游戏学习之Xnova(ogame)源码解读(一)
2014/06/23 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
2014/11/22 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
2016/01/05 PHP
分享php邮件管理器源码
2016/01/06 PHP
php微信浏览器分享设置以及回调详解
2016/08/01 PHP
用jquery实现下拉菜单效果的代码
2010/07/25 Javascript
网页前端优化之滚动延时加载图片示例
2013/07/13 Javascript
javascript实例--教你实现扑克牌洗牌功能
2014/05/15 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
JQuery实现的按钮倒计时效果
2015/12/23 Javascript
jQuery实现二级下拉菜单效果
2016/01/05 Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
2016/10/13 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
jQuery实现div跟随鼠标移动
2020/08/20 jQuery
浅谈JS获取元素的N种方法及其动静态讨论
2017/08/25 Javascript
移动端吸顶fixbar的解决方案详解
2019/07/17 Javascript
jquery实现图片无缝滚动 蒙版遮蔽效果
2020/01/11 jQuery
Typescript3.9 常用新特性一览(推荐)
2020/05/14 Javascript
js实现复制粘贴的两种方法
2020/12/04 Javascript
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
[01:58]最残酷竞争 2016国际邀请赛中国区预选赛积分循环赛回顾
2016/06/28 DOTA
wxPython定时器wx.Timer简单应用实例
2015/06/03 Python
Python在信息学竞赛中的运用及Python的基本用法(详解)
2017/08/15 Python
对tensorflow 的模型保存和调用实例讲解
2018/07/28 Python
Python 实例方法、类方法、静态方法的区别与作用
2019/08/14 Python
python 实现生成均匀分布的点
2019/12/05 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
python给视频添加背景音乐并改变音量的具体方法
2020/07/19 Python
HSRP的含义以及如何工作
2014/09/10 面试题
推广普通话演讲稿
2014/05/23 职场文书
离婚答辩状怎么写
2015/05/22 职场文书
永不妥协观后感
2015/06/10 职场文书
在职证明书模板
2015/06/15 职场文书
pytorch通过训练结果的复现设置随机种子
2021/06/01 Python
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL
微信小程序实现轮播图指示器
2022/06/25 Javascript