七、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