创建
1、创建一个空数组
var a=[]; // []
var a=new Array(); // []
2、创建一个数组并指定长度,指定的长度非最大值,数组的长度是变长的
var b=new Array(3); // [undefined × 3]
3、创建一个数组并赋值
var c=[3]; // [3]
var c=new Array("3"); // ["3"]
var d=[3,4]; // [3, 4]
var d=new Array(3,4); // [3, 4]
取值
var v=d[1] ; // v=4
修改
d[1]=5; // 数组d为[3,5]
新增
1、将新元素(一个或多个)添加到数组结尾,并返回数组新长度
d.push(6); // 返回3,数组d为[3, 5,6]
2、将新元素(一个或多个)添加到数组开头,并返回数组新长度
d.unshift(7,8) ; // 返回5,数组d为[7, 8, 3, 5, 6]
3、 将新元素(一个或多个)添加到数组指定位置,返回[ ] ,arrayObject.splice(index,howmany,item1,.....,itemX)
d.splice(2,0,1,2); // 返回[],数组d为[7, 8, 1, 2, 3, 5, 6]
删除
1、删除最后一个元素,并返回该元素值
d.pop(); //返回6,数组d为[7, 8, 1, 2, 3, 5]
2、删除第一个元素,并返回该元素值
d.shift(); //返回7,数组d为[8, 1, 2, 3, 5]
3、删除从指定位置开始的n个元素,并返回删除的元素集合
d.splice(2,2); //删除从index为2开始的2个元素,并返回删除的元素集合[2, 3],数组d为[8, 1, 5]
替换
d.splice(1,2,3,4,5,6); //先删除从index为1开始的2个元素,再将新元素3,4,5,6从index为1开始依次插入,返回删除的元素集合[1, 5],数组d为[8, 3, 4, 5, 6]
连接
concat() ,用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
var a = [1,2,3];
a.concat(4,5);//返回数组[1, 2, 3, 4, 5],数组a为[1, 2, 3]
var a = [1,2,3];
var b = [4,5,6];
a.concat(b)//返回数组[1, 2, 3, 4, 5, 6]
var a = [1,2,3];
var b = [4,5,6];
var c = [7,8,9];
a.concat(b,c)//返回数组[1, 2, 3, 4, 5, 6, 7, 8, 9]
数组转成字符串
1、join(separator) ,用于把数组中的所有元素放入一个字符串。
separator:可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
var a = [1,2,3];
a.join();//返回 "1,2,3"
a.join("");//返回 "123"
a.join("-");"1-2-3"
2、toString() ,可把数组转换为字符串,并返回结果。返回值与没有参数的 join() 方法返回的字符串相同。
反序
reverse(),用于颠倒数组中元素的顺序。该方法会改变原来的数组,而不会创建新的数组。
var a = [1,2,3];
a.reverse();//返回数组[3, 2, 1], 数组a为[3, 2, 1]
选择
slice(start,end) ,返回一个新数组,包含从 start 到 end (不包括该元素)的 所有元素。不会修改原数组。
start:必需。从何处开始选取。如果是负数,那么从数组尾部开始算起的位置。-1 指最后一个元素,-2 指倒 数第二个元素,以此类推。
end:可选。从何处结束选取。如果没有指定,那么到数组结束。如果是负数,那么从数组尾部开始算起。
var a = [1,2,3];
a.slice(1);//返回数组[2, 3]
a.slice(1,2);//返回数组[2]
a.slice(-1);//返回数组[3]
a.slice(-2,-1);//返回数组[2]
排序
sort(sortBy) ,用于对数组的元素进行排序。
sortBy(a,b):可选。规定排序顺序。必须是函数。若不指定,则按照字符编码的顺序进行排序。
返回值大于1,则交换。
var arr1=[11,1,3,22];
arr1.sort();//返回数组[1, 11, 22, 3]
var arr2=["11","1","3","22"];
arr2.sort();//返回数组["1", "11", "22", "3"]
function sortBy(a,b){
return a - b;
}
arr2.sort(sortBy);//返回数组["1", "3", "11", "22"]
属性
length ,可设置或返回数组中元素的数目。
var e=[1,2,3];
var n=e.length;// n=3
e.length=2;//数组e为[1, 2]
e.length=5;//数组e为[1, 2, undefined × 3]