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";
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";
var x = new Array(new Array(),new Array());
然后我赋值.
x[0][0] = "fsfs"
没有任何问题,
但是如果改成:
var index = 0
x[index][0] = "ffasd"
就会出现错误...该如何解决???
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>
是这样:
var x = new Array(new Array(),new Array());
x[0][0] = "fdsaf"
x[1][0] = "fdafs"//前面两句没有什么问题..
x[2][0] = "fdsfas"//这句就出现了错误.....
这是为什么??难道这么样定义就只能是2个单位的???
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错误
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());
x[0][0] = "fdsaf"
x[1][0] = "fdafs"
x[2]=new Array(); //加上这一句
x[2][0] = "fdsfas"
这一句话不是定义一个二维数组
而是定义一个有两个元素的数组
-----JS里没有直接的二维数组,多维数组用"以数组作元素的数组"来实现
定义了2X2的多维数组,
x[2][0] = "fdsfas"中你的下标已经超过了最大维数
<!--
var a=[]
a[0]=[]
a[0][0]=[]
a[0][0][0]="hello"
//-->
</script>