數組的建立
第一種:
複製代碼 代碼如下:var colors = new Array();
var colors = new Array(20);//建立包含20項的數組
var colors = new Array("Greg");//建立包含1項,即字串"Greg"的數組
var colors = new Array("red","blue","green"); //建立包含3項
第二種: 複製代碼 代碼如下:var colors = ["red","blue","green"];
var colors = [];//建立一個空數組
注意:數組的索引是從0開始的
1. length屬性
length屬性中儲存數組的項數,如: 複製代碼 代碼如下:var colors = ["red","blue","green"];
alert(colors.length); //3
length屬性不是唯讀,可以利用length屬性在數組的末尾移除項,或者添加新的項,如: 複製代碼 代碼如下:var colors = ["red","blue","green"];
colors.length = 2;
alert(colors); //red,blue
colors[colors.length] = "black";
alert(colors); //red,blue,black
2.join()方法,串連數組中的項 複製代碼 代碼如下:var colors = ["red","blue","green"];
alert(colors.join(",")); //red,blue,green
alert(colors.join("||")); //red||blue||green
3.數組的棧方法:push()和pop()
push()方法 可以接受任意數量的參數把它們逐個添加的數組的末尾,並返回修改後數組的長度
pop()方法 從數組末尾移除最後一項,減少數組的length值,返回移除的項 複製代碼 代碼如下:var colors = new Arrary(); //建立一個數組
var count = colors.push("red","green"); //推入兩項到數組末尾
alert(count); //2
count = colors.push("black"); //推入一項到數組末尾
alert(count); //3
var item = colors.pop(); //移除最後一項並返回該值
alert(item); //"black"
alert(count); //2
4.數組的隊列方法:push()和shift()、unshift()
push()方法同上
shift()方法 移除數組中的第一項並返回該項,數組長度減1
unshift()方法 在數組前端添加任意項,並返回新數組的長度 複製代碼 代碼如下:var colors = new Arrary(); //建立一個數組
var count = colors.push("red","green"); //推入兩項到數組末尾
alert(count); //2
count = colors.push("black"); //推入一項到數組末尾
alert(count); //3
var item = colors.shift(); //移除第一項並返回該值
alert(item); //"red"
alert(colors); //green,black
count = colors.unshift("blue"); //推入一項到數組前端
alert(count); //3
alert(colors); //blue,green,black
5.重排序方法:reverse()和sort()
reverse()方法 反轉數組項的順序
sort()方法 預設按字串大小升序排列數組項,可以接受一個比較大小的函數作為參數 複製代碼 代碼如下:var values = [1,2,3,4,5];
values.reverse();
alert(values); //5,4,3,2,1
複製代碼 代碼如下://升序排序函數
function compare(value1,value2) {
if (value1 < value2) {
return -1; //降序改為1
} else if (value1 > value2) {
return 1; //降序改為-1
} else {
return 0;
}
}
複製代碼 代碼如下://數組升序排列
var values = [0,1,5,15,20,10];
values.sort(compare);
alert(values);//0,1,5,10,15,20
複製代碼 代碼如下://對於數值型可以用這個函數,升序
function compare(value1,value2) {
return value2 - value1;
}
6.數組的一些方法:concat()方法、slice()方法和splice()方法
concat()方法 將參數添加到原數組末尾,返回新的數組,原數組不變
slice()方法 返回數組中的項,一個參數時返回指定位置到數組末尾所有的項,兩個參數時返回起始位置和結束位置之間的項(不包括結束位置),原數組不變
splice()方法 向數組中插入,刪除,或替換數組中的項,返回刪除的項(沒有刪除時返回空數組),原數組改變 複製代碼 代碼如下://concat()方法
var colors = ["red","green","blue"];
var colors2 = colors.concat("yellow",["black","brown"]);
alert(colors); //red,green,blue
alert(colors2); //red,green,blue,yellow,black,brown
複製代碼 代碼如下://slice()方法
var colors = ["red","green","blue","yellow","black"];
var colors2 = colors.slice(1); //一個參數時返回指定位置到數組末尾所有的項
var colors3 = colors.slice(1,4); //兩個參數時返回起始位置和結束位置之間的項(不包括結束位置)
alert(colors2); //green,blue,yellow,black
alert(colors3); //green,,blue,yellow
複製代碼 代碼如下://splice()方法
//插入項,插入時指定3個參數:起始位置、0(要刪除的項)、要插入的項
var colors = ["red","green","blue"];
var inserted = colors.splice(1,0,"yellow","orange"); //從位置1開始插入兩項
alert(colors); //red,yellow,orange,green,blue
alert(inserted); //空數組
//替換項,刪除時指定3個參數:起始位置、要刪除的項、要插入的任意項
var colors = ["red","green","blue"];
var replaced = colors.splice(1,1,"black","brown"); //刪除一項,插入兩項
alert(colors); //red,black,browm,blue
alert(replaced); //green