Javascript中的Array数组对象详谈
首先数组的定义以及初始化的方法:
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>
function sortnumber(a,b)
{
return a-b;
}
var myarray = new array(3,2,54,23,90,250);
document.write("document.write("未经sort排序的数值:",myarray,"<br />")
document.write("默认sort排序的数值:",myarray.sort(),"<br />")
document.write("经sortnumber()的sort排序的数值:",myarray.sort(sortnumber),"<br />")
</script>
结果是:
未经sort排序的数值:3,2,54,23,90,250
默认sort排序的数值:这个我也不知道,主要谁去记字符编码呢。
经sortnumber()的sort排序的数值:2,3,23,54,90,250
大家如果把sortnumber方法中的"a-b"改成"b-a",结果是什么呢?