JAVASCRIPT Array用法详解
1、物件 Array 可以用来建立阵列。
其语法是:
var ar = new Array( 阵列长度 );
如果参数只设了一个整数,则会建立长度为整数的阵列(作者在 Firefx 用浮点数与负数当参数,结果会失败);此时即使阵列长度不是 0,阵列中也没有元素。如果此唯一参数不是数值,则会产生长度为一的阵列,其中存着前述参数。阵列最长可到 4,294,967,295。也可以建立空阵列。
<script type='text/javascript'>
var ar1=new Array(12);
var ar2=new Array('吳宗憲');
var ar3=new Array();document.write( ar1.length +' : '+
ar2.length +' : '+ ar3.length);
</script>
执行结果:
12 : 1 : 0
2、可以用指标指定阵列元素
其语法是:
ar[ 整数指标 ]
指标数值由 0 开始,到阵列长度减一的整数。如果指标不是前述整数,例如负数,浮点数,字串;则阵列会将其设为物件的特徵;物件特徵的操作方法与阵列不同。可以设定阵列元素的值;设定值时,如果指标大于阵列长度减一,则阵列长度会自动增长。
程序写法:
<script type='text/javascript'>
var ar1=new Array(12);
ar1[13.5]='小猪';
document.write( ar1.length +' : '+ ar1[13.5] );var ar2=new Array(12);
ar2[13]='罗密欧';
document.write( '<br />'+ ar2.length +' : '+ ar2[13] );
</script>
执行结果:
12 : 小猪
14 : 罗密欧
上例中,第一个例子用了浮点数 13.5 作指标,可是阵列长度没有改变;与第二个例子的结果不同。
3、可以在建立阵列时,设定元素的值
其语法是:
var ar = new Array(元素0, 元素1, ..., 元素N);
每个元素会存入阵列相对的位址,阵列长度就是元素的个数。元素的资料型态可以混合,例如同一个阵列同时可存整数,字串,布林等等。这与 c++ 语言不同,在 c++ 语言,一个阵列只能有一种资料型态的元素。
程序写法:
<script type='text/javascript'>
var jolin=new Array('蔡依林', 27 );
for(var i=0; i < jolin.length; i++)
document.write( jolin[i] +' : ' );
</script>
执行结果:
蔡依林 : 27 :
4、可以用阵列符号建立阵列
其语法是:
var ar = [元素0, 元素1, ..., 元素N];
代码写法:
<script type='text/javascript'>
var hu=['胡瓜', 55];
for(var i=0; i < hu.length; i++)
document.write( hu[i] +' : ' );
</script>
执行结果:
胡瓜 : 55 :
5、可以建立二维阵列
其语法是:
var ar = [ [元素组0], [元素组1], ..., [元素组N] ];
元素组N:元素0, 元素1, ..., 元素N
var ar=new Array(new Array(元素组0), new Array(元素组1), ..., new Array(元素组N));
不同元素组的长度可以不同。
代码写法:
<script type='text/javascript'>
var stars=[ ['胡瓜', 55],
['蔡依林', 27, '女', '歌星'] ] ;
for(var i=0; i < stars.length; i++)
{
for(var j=0; j < stars[i].length; j++)
document.write( stars[i][j] +' : ' );
document.write( '<br />' );
}var persons=new Array(new Array('马英九', 55),
new Array('蔡英文', 54, '女'));
for(var i=0; i < persons.length; i++)
{
for(var j=0; j < persons[i].length; j++)
document.write( persons[i][j] +' : ' );
document.write( '<br />' );
}
</script>
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
