javascript學習筆記(五)Array類型

數組的創建
第一種:

1 var colors = new Array();
2 var colors = new Array(20);//創建包含20項的數組
3 var colors = new Array("Greg");//創建包含1項,即字符串"Greg"的數組
4 var colors = new Array("red","blue","green");        //創建包含3項第二種:

1 var colors = ["red","blue","green"];
2 var colors = [];//創建一個空數組註意:數組的索引是從0開始的

1. length屬性
length屬性中保存數組的項數,如:

1 var colors = ["red","blue","green"];
2 alert(colors.length); //3 length屬性不是隻讀的,可以利用length屬性在數組的末尾移除項,或者添加新的項,如:

1 var colors = ["red","blue","green"];
2 colors.length = 2;
3 alert(colors); //red,blue
4 colors[colors.length] = "black";
5 alert(colors); //red,blue,black2.join()方法,連接數組中的項

1 var colors = ["red","blue","green"];
2 alert(colors.join(",")); //red,blue,green
3 alert(colors.join("||")); //red||blue||green3.數組的棧方法:push()和pop()
push()方法 可以接受任意數量的參數把它們逐個添加的數組的末尾,並返回修改後數組的長度
pop()方法 從數組末尾移除最後一項,減少數組的length值,返回移除的項

1 var colors = new Arrary(); //創建一個數組
2 var count = colors.push("red","green"); //推入兩項到數組末尾
3 alert(count); //2
4 count = colors.push("black"); //推入一項到數組末尾
5 alert(count); //3
6 var item = colors.pop(); //移除最後一項並返回該值
7 alert(item); //"black"
8 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()方法 反轉數組項的順序 www.aiwalls.com
sort()方法 默認按字符串大小升序排列數組項,可以接受一個比較大小的函數作為參數

1 var values = [1,2,3,4,5];
2 values.reverse();
3 alert(values); //5,4,3,2,1
 1 //升序排序函數
 2 function compare(value1,value2) {
 3     if (value1 < value2) {
 4         return -1;        //降序改為1
 5     } else if (value1 > value2) {
 6         return 1;        //降序改為-1
 7     } else {
 8         return 0;
 9     }
10 }
1 //數組升序排列
2 var values = [0,1,5,15,20,10];
3 values.sort(compare);
4 alert(values);//0,1,5,10,15,201 //對於數值型可以用這個函數,升序
2 function compare(value1,value2) {
3     return value2 – value1;
4 }6.數組的一些方法:concat()方法、slice()方法和splice()方法
concat()方法 將參數添加到原數組末尾,返回新的數組,原數組不變
slice()方法 返回數組中的項,一個參數時返回指定位置到數組末尾所有的項,兩個參數時返回起始位置和結束位置之間的項(不包括結束位置),原數組不變
splice()方法 向數組中插入,刪除,或替換數組中的項,返回刪除的項(沒有刪除時返回空數組),原數組改變

1 //concat()方法
2 var colors = ["red","green","blue"];
3 var colors2 = colors.concat("yellow",["black","brown"]);
4 alert(colors);        //red,green,blue
5 alert(colors2);        //red,green,blue,yellow,black,brown
1 //slice()方法
2  var colors = ["red","green","blue","yellow","black"];
3  var colors2 = colors.slice(1);        //一個參數時返回指定位置到數組末尾所有的項
4  var colors3 = colors.slice(1,4);    //兩個參數時返回起始位置和結束位置之間的項(不包括結束位置)
5  alert(colors2);        //green,blue,yellow,black
6  alert(colors3);        //green,,blue,yellow

 1 //splice()方法
 2 //插入項,插入時指定3個參數:起始位置、0(要刪除的項)、要插入的項
 3 var colors = ["red","green","blue"];
 4 var inserted = colors.splice(1,0,"yellow","orange");    //從位置1開始插入兩項
 5 alert(colors);        //red,yellow,orange,green,blue
 6 alert(inserted);    //空數組
 7
 8 //替換項,刪除時指定3個參數:起始位置、要刪除的項、要插入的任意項
 9 var colors = ["red","green","blue"];
10 var replaced = colors.splice(1,1,"black","brown");        //刪除一項,插入兩項
11 alert(colors);        //red,black,browm,blue
12 alert(replaced);    //green

 

 

摘自 晴天漫步

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *