1、利用.length增加或减少数组长度

var colors=["red","blue","green"];

colors.length=2;          //数组长度强制变为2

alert("colors[2]");         //undefined

 

colors[colors.length]="black";//增加颜色black,数组长度又变3

colors[99]="brown";      //在位置99处增加颜色brown

alert(color.length);       //数组长度变为100

 

2、数组的toString()、valueof()、toLocaleString()方法

每个对象都有这三种方法。

当没有特别定义时,对数组调用这三种方法,返回值都是一样的,都是数组元素。

当对toLocaleString()方法进行特别定义时,返回值不同。

var person1={

toLocaleString:function(){

return "Nicholas";

},

toString:function(){

return "Nicholas";

}

};

 

var person2={

toLocaleString:function(){

return "Grigorios";

},

toString:function(){

return "Greg";

}

};

 

var people=[person1,person2];

alert(people);                          //Nicholas,Greg

alert(people.toString());            //Nicholas,Greg

alert(people.toLocaleString());  //Nicholas,Grigorios

 

3、栈方法

数组像栈一样运作,后进先出。

push():将元素添加数组末尾,返回修改后数组长度。

pop():从数组末尾移除项,返回被移除的项。

 

var colors=["red","blue","green"];

count=colors.push("black");

alert(count);    //返回新长度4

var item=colors.pop();

alert(item);      //返回被扔出的元素"black"

 

4、队列方法

shift():从数组前端移除(pop是后端移除)

unshift():从数组前端推入(push是后端插入)

var item=colors.shift();

alert(item);      //返回第一个元素"red"

var count=colors.unshift("red");

alert(count);    //数组长度变4

var item=colors.pop();

alert(item);       //最后一个元素是"black"

 

5、排序

reverse():反转

sort():按大小排序(非完全)

var values=[1,2,3,4,5];

values.reverse();

alert(values);

 

6、连接数组

contat():连接两个数组

var colors=["red","black","blue"];

var colors2=colors.concat("yellow","purple");

alert(colors2);     //red,black,blue,yellow,purple

 

7、基于当前数组创立新数组

slice():可以传一个参数,两个参数。

一个参数:从此位置以后的数组元素都留下。

两个参数:从开始位置到结束位置的元素,不包括结束位置。

var colors=["red","black","blue","yellow","purple"];

var colors2=colors.slice(1);   //从第一项开始

var colors3=colors.slice(1,4);//从第一项开始到4

alert(colors2);//balck,blue,yellow,purple

alert(colors3);//balck,blue,yellow

 

8、删除、插入、替换

splice():

删除:两个参数。要删除的第一项位置,要删除的项数。

插入:三个参数。开始位置,0,要插入的项。(要插入的项可以多个)

替换:三个参数。开始位置,要删除的项数,要插入的项。(要插入的项可以多个)

所有方法返回被删除的项。

var colors=["red","green","blue"];

var removed=colors.splice(0,1); //移除数组第一项

alert(colors);                               //green,blue

alert(removed);

 

removed=colors.splice(1,0,"yellow","orange");

alert(colors);                              //green,yellow,orange,blue

alert(removed);                          //返回空,因为没有移除

 

removed=colors.splice(1,1,"red","purple"); //从第一个位置开始,只删除一项

alert(colors);                               //green,red,purple,orange,blue

alert(removed);                          //返回yellow

posted on 2012-01-19 15:56  Ballad1939  阅读(3109)  评论(0编辑  收藏  举报