欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » Html » 正文

热门阅读

JavaScript开发技术(六)-数组对象

创建时间:2012年05月11日 14:23  阅读次数:(3953)
分享到:

七、Javascript数组对象


1.创建 Array 对象的语法
new Array();
new Array(size);
new Array(element0, element1, ..., elementn);
var variableName = [element0, element1, ..., elementn];

2.Array 对象方法
方法 描述 FF IE
concat()> 连接两个或更多的数组,并返回结果。 1 4
join()> 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 1 4
pop()> 删除并返回数组的最后一个元素 1 5.5
push()> 向数组的末尾添加一个或更多元素,并返回新的长度。 1 5.5
reverse()> 颠倒数组中元素的顺序。 1 4
shift()> 删除并返回数组的第一个元素 1 5.5
slice()> 从某个已有的数组返回选定的元素 1 4
sort()> 对数组的元素进行排序 1 4
splice()> 删除元素,并向数组添加新元素。 1 5.5
toSource()> 返回该对象的源代码。在IE下无效。 1 -
toString()> 把数组转换为字符串,并返回结果。 1 4
toLocaleString()> 把数组转换为本地数组,并返回结果。 1 4
unshift()> 向数组的开头添加一个或更多元素,并返回新的长度。实际无返回值。 1 6
valueOf()> 返回数组对象的原始值 1 4

(1)Sort
<script type="text/javascript">
function sortNumber(a,b)
{
return a - b
}
var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort(sortNumber))
</script>

3.数组支持expando 属性
可以为数组添加自定义属性,并且不影响数组的长度。
// 三个元素的数组
var myArray = new Array(3);// 添加数据
myArray[0] = "Hello";
myArray[1] = 42;
myArray[2] = new Date();
// 显示数组的长度3
alert(myArray.length);
// 添加某些expando 属性
myArray.expando = "JScript!";
myArray["another Expando"] = "Windows";
// 仍然显示3,因为两个expando 属性
// 并不影响长度。
alert(myArray.length);

使用for…in 可以读取数组元素和自定义属性
for (var arr in myArray) {
    alert(myArray[arr]);
}

如果只读取循环length则只读取元素
for (var i = 0; i < myArray.length; i++) {
    alert(myArray[i]);
}

4. 可以创建各元素的编号之间没有间隙的数组
// 三个元素的数组
var myArray = new Array(3);// 添加数据
myArray[0] = "Hello";
myArray[1] = 42;
myArray[2] = new Date();
myArray[10] = "test";//数组自动扩充到11个元素

数组的length是可读写的,如果将length的值改为比实际元素个数小,则会删除后面的元素。
定义对象的数组
function arrayname(size) {
for (var x=1;x<=size;x++)
this[x]=0;
this.length=size;
return this;
}

其中arrayname是这个数组的名字,由于数组的下标是从1到size,所以Javascript的对象功能更为强大。
创建这个对象的实例
var array=new arrayname(10);
array[1]="name";
array[2]="email";
array[3]="city";
array[4]="address";
for (var x in array )
{
document.write(array[x]+"<br />");
}
s
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 50+86=? 的结果(结果是:136)
结  果: