◆ 创建数组的基本方式有两种。
①第一种是使用Array构造函数,new关键字可省略
var colors = new Array();
var colors = new Array(20); //length值为20
var colors = new Array("red","blue","black");
②第二种是使用字面量表示法
var colors = ["red","blue","black"];
var emptyArr = []; //空数组
◆ 读取和设置数组的值
var colors = ["red","blue","green"];
alert(color[0]); //显示第一项
color[2] = "green" //修改第三项
color[3] = "pink" //增加第四项
◆ length属性,可以通过设置该属性移除或添加数组中的项目
利用length属性可以在数组末尾添加项: colors [ colors.length ] = "white"
最后一项的索引是length-1
◆检测数组
instanceof()
Array.isArray()方法
◆栈方法 (LIFO)
Last-In-First-Out 后进先出的数据结构,最新添加的项最早被移除。push()和pop()方法。
push()方法可以接受任意数量的参数 ,把他们逐个添加到数组末尾,并返回修改后数组的长度。而pop()方法则移除数组最末尾的一项,返回移除的项。
var color= new Array();
var count=color.push("red","green");
alert(count); //2
count = color.push("black");
alert(count); //3
document.write(color); //red,green,black
var item = color.pop();
alert(item); //black
document.write(color); //red,green
◆队列方法(FIFO)
队列在列表的末尾添加项,从列表的前端移除项。push()方法和shift()方法
push()向数组末端添加项,shift移除数组中的第一个项并返回该项。
unshift()方法跟shift()方法相反,它在数组前端添加任意个项返回该新数组的长度。
◆重排序方法 :reverse() 和 sort()
reverse()方法会反转数组项的顺序。
var values = [1,2,3,4,5];
values.reverse();
alert(values); //5,4,3,2,1
sort()方法按会调用每个数组项的toString()转型方法,然后比较得到的字符串,再从小往大排。
var values = [0,1,5,10,15];
values.sort();
alert(values); //0,1,10,15,5
很多sort()方法接收一个比较函数作为参数,如:
function compare(value1,value2){
if(value1<value2){
return -1;
}else if(value1>value2){
return 1;
}else{
return 0;
}
}
把上面的比较函数作为参数传递到sort()方法:
var values = [0,1,5,10,15];
values.sort(compare);
alert(values); //0,1,5,10,15
交换比较函数返回的值可以产生降序排序的结果。
function compare(value1,value2){
if(value1<value2){
return 1;
}else if(value1>value2){
return -1;
}else{
return 0;
}
}
var values = [0,1,5,10,15];
values.sort(compare);
alert(values); //15,10,5,1,0