js中操作数组的常用方法.

分类: Javascript   发布于: 2012.10.28, 17:05, by  usual  查看:6,109   |   评论: 发表留言

1.栈方法
push()方法可以接受任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度.
pop()方法从数组末尾移除最后一项,减少数组的length值,然后返回移除的项.

var colors=[];
var count=colors.push("red","green");	//推入两项
alert(count);	//2				

count=colors.push("black");		//推入另一项
alert(count);	//3

var item=colors.pop();			//取得最后一项
alert(item);	//"black"
alert(colors.length);	//2

2.队列方法
shift()方法能够移除数组中的第一个项并返回移除的项,同时将数组长度减1.
unshift()方法能在数组前端添加任意个项,并返回新数组的长度.

var colors=["red","green","black"];
var item=colors.shift();
alert(item);	//"red"
alert(colors.length);	//2

var count=colors.unshift("red","white");
alert(count);	//4

3.重排序方法
reverse()用来倒序.即大的在前,小的在后.

var values=[1,2,3,4,5];
values.reverse();
alert(values);	//5,4,3,2,1

sort()方法按升序排列数组.即小的在前,大的在后.
reverse()和sort()方法的返回值都是经过排序之后的数组.

4.操作方法
concat()方法可以基于当前数组中的所有项创建一个新数组.具体来说,这个方法会先创建当前数组的一个副本,然后将接收到的参数添加到数组的末尾,最后返回新构建的数组.在没有给concat()方法传递参数的情况下,它只是复制当前数组并返回副本.如果传递给concat()方法的是一个或多个数组,则该方法会将这些数组中的每一项都添加到结果数组中.如果传递的值不是数组,这些值就会被简单地添加到结果数组的末尾.

var colors=["red","green","blue"];
var colors2=colors.concat("yellow",["black","brown"]);

alert(colors);		//red,green,blue
alert(colors2);		//red,green,blue,yellw,black,brown

slice()方法能够基于当前数组中的一个或多个项创建一个新数组.可以接受一个或者俩个参数.不会影响原数组.

Array.slice(start,[end])  //返回项的起束和结束位置,

在只有一个参数的情况下,slice()方法返回从该参数指定位置开始到当前数组末尾的所有项.如果有俩个参数,则返回start项和end项之前的所有项(不包括end项);

var colors=["red","green","blue","yellow","brown"];
var colors2=colors.slice(1);
var colors3=colors.slice(1,3);

alert(colors2);		//green,blue,yellow,brown
alert(colors3);		//green,blue

splice()方法主要用于向数组的中部插入项,有3种使用方式:
删除:可以删除任意数量的项,只需指定2个参数:要删除的第一项的位置和要删除的项数.返回被删除的项,原数组也会被修改.

var colors=["red","green","blue","yellow","brown"];
var removed=colors.splice(0,3);	//删除前3项
alert(colors);		//yellow,brown
alert(removed);		//red,green,blue

插入:可以向指定位置插入任意数量的项,只需提供3个参数:起始位置,0(要删除的项数),要插入的项.如果要插入多个项,可以再传入第四.第五.以至任意多个项.返回空数组,原数组也会被修改.

var colors=["red","green"];
var added=colors.splice(1,0,"blue","brown","black");
alert(colors);		//red,blue,brown,black,green
alert(added);		//返回的是一个空数组

替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项,只需指定3个参数:起始位置.要删除的项数.和要插入的任意数量的项.返回被删除的项,原数组也会被修改.

var colors=["red","green","blue","yellow","brown"];
var inserted=colors.splice(1,3,"white","gray");
alert(colors);		//red,white,gray,brown
alert(inserted);		//green,blue,yellow

以上大部分摘自JS高程二.做个笔记.