如何创建js动态数组 --->>

ricky460 2003-10-10 11:38:33
asp中如果用 VBScript编写的话创建动态多维数组是如下:
<%
dim x()
redim x(2,2,3)
x(1,0,1) = "afsdf"
%>
那么用javascript怎么写??
我所知道的一种写法是:
<%
var x = new Array()
x[0] = new Array("a","b");
var str = x[0][2] ;
%>
或者是:
<%
var x = new Array(new Array() ,new Array())
x[0][0] = "fasfsf"
%>
这么写正规吗???在服务器端用这个是不是很耗效率 ???
用完之后,我怎么彻底的把这个数组销毁??

...全文
8733 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
ricky460 2003-10-21
  • 打赏
  • 举报
回复
各位大哥,有高手没有。。
梦想成真2003 2003-10-21
  • 打赏
  • 举报
回复
var x = new Array(new Array(),new Array(),new Array());
ricky460 2003-10-14
  • 打赏
  • 举报
回复
还有其他方法吗????
ricky460 2003-10-10
  • 打赏
  • 举报
回复
补充一下,上面所说的有误....
是这样:
var x = new Array(new Array(),new Array());
x[0][0] = "fdsaf"
x[1][0] = "fdafs"//前面两句没有什么问题..
x[2][0] = "fdsfas"//这句就出现了错误.....
这是为什么??难道这么样定义就只能是2个单位的???
孟子E章 2003-10-10
  • 打赏
  • 举报
回复
可以的,你 IE几?

<script>
var x = new Array(new Array(),new Array());
var index1 = 0
x[index1][0] = "ffasd"
x[index1+1][0] = "ok"
alert(x[index1][0])
alert(x[1][0])
///index是关键字
</script>
ricky460 2003-10-10
  • 打赏
  • 举报
回复
可是如果我定义
var x = new Array(new Array(),new Array());
然后我赋值.
x[0][0] = "fsfs"
没有任何问题,
但是如果改成:
var index = 0
x[index][0] = "ffasd"
就会出现错误...该如何解决???
JK_10000 2003-10-10
  • 打赏
  • 举报
回复
1.JS的数组本身就是动态的:
var a=new Array();
a[0]=1;


2.JS的数组元素不要求类型相同(如Hash表):

var a=new Array();
a[0]=1;
a[1]=new Array();
a[1][0]=1;
a[1][1]="fdasfd";



nolonely 2003-10-10
  • 打赏
  • 举报
回复
<script language="JavaScript">
<!--
var a=[]
a[0]=[]
a[0][0]=[]
a[0][0][0]="hello"
//-->
</script>
ricky460 2003-10-10
  • 打赏
  • 举报
回复
请教各位大侠:
怎么定义一个三维的数组 ???
孟子E章 2003-10-10
  • 打赏
  • 举报
回复
var x = new Array(new Array(),new Array());
定义了2X2的多维数组,
x[2][0] = "fdsfas"中你的下标已经超过了最大维数
ricky460 2003-10-10
  • 打赏
  • 举报
回复
谢谢各位大侠..明白了..等会就给分...
可否再回答一个问题:

如果清空这个数组 ??
JK_10000 2003-10-10
  • 打赏
  • 举报
回复
var x = new Array(new Array(),new Array());

--------------
这一句话不是定义一个二维数组
而是定义一个有两个元素的数组
-----JS里没有直接的二维数组,多维数组用"以数组作元素的数组"来实现
JK_10000 2003-10-10
  • 打赏
  • 举报
回复
程序应该改成如下:

var x = new Array(new Array(),new Array());
x[0][0] = "fdsaf"
x[1][0] = "fdafs"
x[2]=new Array(); //加上这一句
x[2][0] = "fdsfas"
descreekert 2003-10-10
  • 打赏
  • 举报
回复
var x = new Array(new Array(),new Array());
x[0][0] = "fdsaf"
x[1][0] = "fdafs"//前面两句没有什么问题..
x[2][0] = "fdsfas"//这句就出现了错误.....

你只定义了两个数组成员,x[0], x[1], 可以写x[0][0],x[0][1],x[1][0],x[1][1];
但你没有定义 x[2] 这个数组啊,你要是这么定义就可以了
var x = new Array(new Array(),new Array(),new Araay());
JK_10000 2003-10-10
  • 打赏
  • 举报
回复
var x = new Array(new Array(),new Array());
x[0][0] = "fdsaf"
x[1][0] = "fdafs"//前面两句没有什么问题..
x[2][0] = "fdsfas"//这句就出现了错误.....
这是为什么??难道这么样定义就只能是2个单位的???

----------
var x = new Array(new Array(),new Array());
//构造出有两个元素的数组,两个元素都为数组
x[0][0] = "fdsaf"
//将X数组的第一个元素(也是一个数组)的第一个元素赋值

x[1][0] = "fdafs"
//将X数组的第二个元素(也是一个数组)的第一个元素赋值

x[2][0] = "fdafs"
//将X数组的第三个元素(目前还是null)的第一个元素赋值
由于x[2]是null值(空值无法取方法或属性),而x[2][0]相当于x[2].0,所以会报NULL错误

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧