首先数组的定义以及初始化的方法:
var myArray = new Array(1,3.1415,"love"); //这里注意myArray数组中的元素不只是同一种数据类型的元素,可以有整形,有浮点型,有字符串等等都可以。这里充分展示了javascript作为一种语言对数据类型的弱化,语言更加的随意化,简便化。就行定义对象的时候用var一样。
在此介绍的有限,同时有一些我没有给出结果,希望大家自己体会,自己动手尝试一下,看看结果到底是什么,这样有助于记忆。以下带[]是可以省去的参数。
Array的属性:
length:数组对象的长度,即数组元素的个数。这里同样要注意第一元素的下标是0.
document.write(myArray.length); //结果是3
Array的方法:
join():把数组中的各元素逐个连接起来,用分隔符置于元素与元素之间
document.write(myArray.join("-")); //输出结果:1-3.1415-love
document.write(myArray.join(" ")); //输出结果:是什么呢?
document.write(myArray.join("*¥")); //输出结果:是什么呢?
document.write(myArray.join("* &")); //输出结果:是什么呢?
document.write(myArray.join(" ")); //输出结果:是什么呢?
reverse():将数组中的元素的顺序颠倒
document.write(myArray.reverse()); //输出结果:love,3.1415,1
slice([,]):相当于数组的裁剪,这里不包括终。看到这里大家应该会联想到关于Sting对象的substring()和substr()方法了吧。。其实都类似。
var arraynumber = new Array(1,2,3,4,5,6,7,8);
document.write(arraynumber.slice(3)); //输出结果:4,5,6,7,8
document.write(arraynumber.slice(3,5)); // 输出结果:4,5
i made a mistake,我原来写的结果是4,5,6,其实是4,5。多谢一位朋友提出来。大家注意一下,其实slice方法是不包括终止位置的。
document.write(arraynumber.slice(3,3)); // 输出结果:是什么呢?
document.write(arraynumber.slice(3,2)); // 输出结果:是什么呢?
document.write(arraynumber.slice(3,-1)); // 输出结果:是什么呢?
document.write(arraynumber.slice(-100)); // 输出结果:是什么呢?
sort([]):排序
不带方法函数,按字母顺序进行排序,即按照字符编码的顺序排序,不是通常认为的按数值排序。
如果带方法函数,则按方法函数排序。
例子:
<script> <BR>function sortNumber(a,b) <BR>{ <BR>return a-b; <BR>} <BR>var myArray = new Array(3,2,54,23,90,250); <BR>document.write("document.write("未经sort排序的数值:",myArray,"<br />") <BR>document.write("默认sort排序的数值:",myArray.sort(),"<br />") <BR>document.write("经sortNumber()的sort排序的数值:",myArray.sort(sortNumber),"<br />") <BR></script>
结果是:
未经sort排序的数值:3,2,54,23,90,250
默认sort排序的数值:这个我也不知道,主要谁去记字符编码呢。
经sortNumber()的sort排序的数值:2,3,23,54,90,250
大家如果把sortNumber方法中的"a-b"改成"b-a",结果是什么呢?