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