1.一维数组定义
1.1 定义方式一
var arr=new Array();
arr[0]="andy";
arr[1]="bill";
arr[2]="cindy";
1.2 定义方式二
var arr=new Array("andy","bill","cindy");
1.3 定义方式三
var arr=["andy","bill","cindy"];
2.二维数组定义
var arr=new Array(['a','b','c'],['d','e','f']);
arr[0]返回元素一即['a','b','c']
arr[0][0]返回元素一的第一个元素即'a'
arr[1]返回元素二即['d','e','f']
或
var arr=new Array( new Array('a','b','c'), new Array('d','e','f') );
3.数组的属性及函数
3.1 length属性
该属性用于取得数组的长度,如
var n=arr.length;
在编程中,此属性常配合for循环对数组元素进行遍历,如
var arr=new Array( new Array('a','b','c'), new Array('d','e','f') );
for(var i=0;i<arr.length;i++){
alert(arr[i]);
}
也可以采用如下遍历方式:
var arr=new Array( new Array('a','b','c'), new Array('d','e','f') );
for(var i=0,n=arr.length;i<n;i++){
alert(arr[i]);
}
4.在数组末尾添加或删除元素的函数
4.1 push
该函数能向数组末尾增加一个或多个元素,其返回值为增加元素后数组的长度,如
var arr=new Array(1,2,3,4 );
var n=arr.push(5,6);
执行后,arr变成[1,2,3,4,5,6],n=6.
该函数能使数组接近链表的使用效果。
4.2 pop
该函数能删除数组末项,返回值为被删除元素的值,如
var arr=new Array(1,2,3,4 );
var n=arr.pop();
执行后,arr变成[1,2,3],n=4.
5.对数组开头添加或删除元素的函数
5.1 unshift
该函数能将一个或多个函数添加到数组开头,并返回改变后的数组长度
var arr=new Array(1,2,3,4 );
var n=arr.unshift(-1,0);
注意:IE6下,返回值n为undifined。ff下n为6.
5.2 shift
删除数组首项,并返回被删除元素的值,数组为空时返回undefined
var arr=new Array(1,2,3,4 );
var n=arr.shift();
6.与字符串相关的函数
6.1 toString
该函数能得到字符串形式的数组,如:
var arr=new Array(1,2,3');
var str=arr.toString();
变量str将等于字符串形式的1,2,3,分隔符为逗号.
6.2 join
得到字符串形式的数组,但分隔符为函数的参数
var arr=new Array(1,2,3);
var str=arr.join('-');
变量str将等于字符串形式的1-2-3,分隔符为“-”号.
6.3 数组与String的split函数
JS的内置String类有一个函数与数组有关,它能将字符串劈分成一个字符串数组,如
var str="1,2,3,4,5,6";
var arr=str.split(",");
for(var i=0,n=arr.length;i<n;i++){
alert(arr[i]);
}
这就有了一个快速由字符串获得数组的途径,在编程中这是个很有用的技巧。
7.与数组排序有关的函数
7.1 sort
该函数无参数时,默认将数组进行升序排列
var arr=new Array(2,1,3);
arr.sort();
排序后,数组为[1,2,3]
也可以写入一个匿名函数作为比较规则,并让数组按此规则进行排序
var arr=new Array(2,1,3);
arr.sort(function(a,b){return b-a});
排序后,数组为[3,2,1]
7.2 reverse
该函数可以使现有数组逆序
var arr=new Array(2,1,3);
arr.reverse();
逆序后,数组为3,1,2
8.数组截取函数
8.1 slice
该函数以两个下标从数组中截取一段成为一个新数组
var arr=new Array(1,2,3,4,5);
var arr2=arr.slice(1,3);
执行完毕后,arr2是[2,3],arr还是原来的[1,2,3,4,5]
8.2 splice
当以splice(start,deleteCount)的形式被调用时,原数组会从start开始删除deleteCount项,返回值是被删除项组成的新数组。如
var arr=[1,2,3,4,5];
var arr2=arr.splice(0,2);
alert(arr);// [3,4,5]
alert(arr2);// [1,2]
当以splice(start,deleteCount,value1,value2,...)的形式被调用时,原数组会从start开始删除deleteCount项,然后插入value1,value2,...,返回值是被删除项组成的新数组。如
var arr=[1,2,3,4,5];
var arr2=arr.splice(0,2,6,7);
alert(arr);// [6,7,3,4,5]
alert(arr2);// [1,2]
9.数组的合并
9.1 concat
cancat可以将两个数组合并成一个新数组返回,如下:
var arr1=[1,2,3,4,5];
var arr2=[6,7];
var arr3=arr1.concat(arr2);
alert(arr1);// [1,2,3,4,5]
alert(arr2);// [6,7]
alert(arr3);// [1,2,3,4,5,6,7]