1. 程式人生 > >JavaScript的引用資料型別-Array型別

JavaScript的引用資料型別-Array型別

2.Array型別 Array型別就像一個有著很多空間的收納櫃一樣,一號抽屜放著什麼資料,二號抽屜放著什麼資料我們只要一找就能找到,特別的輕鬆方便,而且它還是能夠動態調整大小的,可以隨著資料的新增而自動增加以容納新的資料。 1.建立Array例項的方式: 第一種:使用Array建構函式。 第二種:陣列字面量表示法。

//Array建構函式
var colors = new Array();
var colors = new Array(20);//建立的陣列長度為20
var colors = new Array("red", "blue");//可以省略new操作符,如果看到不要奇怪
//陣列字面量表示法
var colors =["red", "blue"]

2.訪問陣列:

var colors =["red", "blue"]
alert(colors[0])//red
alert(colors[1])//blue
//[0] 是陣列的第一個元素。[1] 是陣列的第二個元素,所以上面會分別輸出red和blue

3.檢視陣列長度

var colors =["red", "blue"]
alert(colors.length);//2

4.遍歷陣列

var colors =["red", "blue"];
colors.forEach(function(item, index, array) {
	alert(item, index);
});
//輸出結果為red 0和blue 1
//item:陣列中正在處理的當前元素,必填
//index:陣列中正在處理的當前元素的索引,選填
//array:forEach()方法正在操作的陣列,選填

5.運算元組的方法 5.1棧方法   讓陣列的資料操作像棧一樣,後進先出,其實也就是最晚新增的項唄最早移除。這裡我們就需要它的兩個方法:push()和pop()方法。

//新增元素到陣列的末尾
var colors =["red", "blue"];
colors.phsh("green");
//colors:["red", "blue","green"]

//刪除陣列末尾的元素
colors.pop();
//colors:["red", "blue"]

5.2列隊方法  和棧方法相反,佇列方法則是先進先出,對此,陣列也有方法能夠實現,它們就是shift和unshift這兩個方法。

//新增元素到陣列的頭部
var colors =["red", "blue"];
colors.unshift("green");
//colors:["green","red", "blue"]

//刪除陣列最前面(頭部)的元素
colors.shift();
//colors:["red", "blue"]

5.3重排序法   為了對陣列進行排序,以便更好地操作資料,陣列中現在是存有兩個可以直接用來重排序的方法。 第一個:reverse() 該方法的作用是反轉陣列

var colors =["green","red", "blue"];
colors.reverse(); 
//colors:["blue,red,green"]

第二個:sort() 我們可以定義一個新的陣列看看它是什麼樣的。

var numArr=[2,3,5,4,9,7,8]
numArr.sort(); 
//numArr:[2,3,4,5,7,8,9]

可能到這裡大家就以為它已經排好了沒什麼問題,但是如果把值變成兩位數,那就亂了。

var numArr=[2,3,5,4,9,20,10]
numArr.sort(); 
//numArr:[10,2,20,3,4,5,9]

看到這資料是不是感到很詭異?其實這是因為sort方法是根據測試字串的結果改變原來的順序,因為在字串比較中,“10”是位於最前面,這和數字的值的大小無關。那如果我們想要正確排序我們該怎麼做呢?其實sort()它是可以接收一個函式的,我們就可以根據這個寫一個比較函式,讓數組裡的值根據這個函式的規則進行排序。

function conpart(value1,value2){ 
	return value1-value2;
}
numArr.sort(conpart); 
//numArr:[2,3,4,5,9,10,20]

作為JavaScript的內建物件,Array有著許多的屬性和方法,除了上面列的這些,我們還可以去MDN Web Docs檢視和學習更多的內容。