JavaScript數組函數總結

來源:互聯網
上載者:User

數組資料項目的串連與分割:

var mya=new Array();

mya[0]="aa";

mya[1]="bb";

mya[2]="cc";

mya[3]="dd";

function joinArray()...{

var myText=mya.join(",");

alert(myText);



function splitArray()...{

var mya2=myText.split(",");

alert(mya2[i]);

}

 

用array.concat()方法可以把兩個array對象串連為一個新的array對象。例如:

var array1=new Array(1,2,3);

var array2=new Array("a","b","c");

var array3=array1.concat(array2);

//result:array3 with values 1,2,3,"a","b","c"


var arrayText=myArray.join(",");

 

堆棧:

array.pop()

array.push(valueOrObject)

array.shift()

array.unshift(valueOrObject)

push()和pop()在數組的末端工作,shift()和unshift()工作在數組的前端。

當把一個值push()到一個數組中時,這個值被作為最後一個資料項目追加到數組中。

當使用array.pop()方法時,數組中的最後一項就會從堆棧中移出並作為傳回值返回,同時數組的長度減1。

當把一個值unshift()到一個數組中時,這個值被作為第一個資料項目插入到數組中。

當使用array.shift()方法時,數組中的第一項就會從堆棧中移出並作為傳回值返回,同時數組的長度減1。

 

array.reverse() --> 傳回值:和原數組順序相反的數組項

array.slice(startIndex[,endIndex]) --> 傳回值:數組

此方法需要一個參數,也就是提取的起始索引位置。如果不指定第二個參數,提取將一直進行到數組的結尾,

否則,只提取到第二個參數指定的位置,但不包括那個位置。

 

array.splice(startIndex,deleteCount[,item1[,item2[,...itemN]]]))

如果需要從數組中刪去一些項,使用array.splice()方法能簡化這一任務,否則還需要從原始數組的選擇項中組合一個新數組。

所需的兩個參數中第一個是基於0的索引整數,它指向當前數組中被刪除的第一項;

第二個參數也是一個整數,它說明了要從數組中刪除多少個連續項。刪除數組項影響了數組的長度,被刪除的項作為其自身的數組被splice()方法返回。

還可以使用splice()方法來替換數組項。從第三個參數開始是選擇性參數,它允許提供要插入數組的資料元素,這些資料元素要替換被刪除的資料項目。

被加入的資料項目可以是任何JavaScript資料類型,新資料項目的數量不一定必須等於被刪除的資料項目的數量。

實際上,通過將第二個參數指定為0,可以使用splice()向資料的任何位置插入一個或多個資料項目。

 

array.toLocaleString() --> 一般使用數組中的每一項使用逗號分開。

array.toString() --> 此方法的精確的字串轉化取決於特定的瀏覽器的實現方式。

一般使用相容器更強的舊方法array.toString()

 

array.sort([compareFunction]) --> 傳回值:以compareFunction演算法控制順序的數組項

排序改變了原始數組的排列順序!

預設調用排序時,是以字元的ASCII值為標準。

比較函數的傳回值:

<0 : 值b排在a後面

=0 : a和b的順序不改變

>0 : 值a排在b後面

例如:按數字順序排序

 

myArray=new Array(12,34,2,123)

function compare(a , b)...{

  return a-b

}

myArray.sort(compare)

 

 

例如比較字串數組中的每一個資料項目的最後一個字元,按字母順序來排序

 

function compare(a , b)...{

  //last character of array strings

  var aComp=a.charAt(a.length - 1)

  var bComp=b.charAt(b.length - 1)

  if(aComp < bComp)...{return - 1}

  if(aComp > bComp)...{return 1}

  return 0

}

 

 

例如:如果一個數組中有這樣的對象,它們的屬性值定義了關於僱員的資訊,其中一個屬性是僱員的年齡,定義為字串類型。

用下面的比較函數並以對象的age屬性所對應的數值為基礎,就可以排序這個數組

 

function compare(a , b)...{

  return parseInt(a.age)-parseInt(b.age)

}

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.