javascript下的數組及其操作【轉自http://blog.zjol.com.cn/173915/spacelist-blog】

來源:互聯網
上載者:User
本文介紹如下幾個方面的內容:

1.如何建立數組
2.如何對數組進行操作(添加,刪除,讀取)
3.數組常見方法和屬性

如何建立一個數組,一般地根據初始化設定簡單分為3種:

1.單純建立數組:
var arr=new Array();
要點:用new關鍵字建立數組對象Array(),Array()對象是一個本地類,可以用new建立一個對象後使用
2.建立數組的同時規定數組大小:
var arr=new Array(10);//這裡就建立了一個初始化大小為10的數組
注意:當使用數組大小操作初始化大小時,數組會自動被撐大,不會像C語言那樣發生錯誤.動態增長是js數組的一個性質.另外,js中支援最大數組長度為4294967295
3.直接初始化:
var arr=new Array("草履蟲","愛","毛毛");//這裡就直接初始化了數組
或var arr=["草履蟲","愛","毛毛"];//括弧也可以聲明一個數組對象

當然,類似C語言,你也可以定義2維3維和多維的數組,這裡不討論.

數組的屬性:length
arr.length返回數組arr的長度,常見於迴圈中對數組的遍曆,比如:
for(var i=0;i<arr.length;i++){
執行部分
}

數組元素的訪問: arr[index],其中index表示索引即數組基數,從0開始,共有arr.length個元素.比如: arr[0]訪問第一個數組元素,arr[1]訪問第二個數組元素....依次類推 數組的操作方法:先概覽下下面的這些運算元組常用的方法(13個)

toString(),valueOf(),toLocalString(),join(),split(),slice(),concat(),
pop(),push(),shift(),unshift(),sort(),splice()

下面逐一分析這些方法的功能和用法.

toString(),valueOf(),toLocalString():
功能:返回數組的全部元素
注:數組名也可以返回整個數組

代碼:

  1. var m=["am","bm","cm"];//用括弧聲明一個數組對象   
  2. alert(m.toString());//toString()返回數組對象的所有內容,用逗號分割,即am,bm,cm   
  3. alert(m.valueOf());//valueOf()也返回數組對象的所有內容   
  4. alert(m.toLocaleString());//toLocaleString()也返回數組對象的所有內容,但有地區語言區別,暫不研究   
  5. alert(m);//數組名也返回數組對象的所有內容  
 var m=["am","bm","cm"];//用括弧聲明一個數組對象 alert(m.toString());//toString()返回數組對象的所有內容,用逗號分割,即am,bm,cm alert(m.valueOf());//valueOf()也返回數組對象的所有內容 alert(m.toLocaleString());//toLocaleString()也返回數組對象的所有內容,但有地區語言區別,暫不研究 alert(m);//數組名也返回數組對象的所有內容

運行: <script>var m=["am","bm","cm"];alert(m.toString());alert(m.valueOf());alert(m.toLocaleString());</script>

join():
功能:把數組各個項用某個字元(串)串連起來,但並不修改原來的數組

代碼:

  1. var m=["am","bm","cm"];//用括弧聲明一個數組對象   
  2. var n=m.join("---");//用---串連am,bm,cm.   
  3. alert(m.toString());//m並沒有被修改,返回am,bm,cm   
  4. alert(n);//n是一個字串,為am---bm---cm  
 var m=["am","bm","cm"];//用括弧聲明一個數組對象 var n=m.join("---");//用---串連am,bm,cm. alert(m.toString());//m並沒有被修改,返回am,bm,cm alert(n);//n是一個字串,為am---bm---cm

運行: <script>var m=["am","bm","cm"];var n=m.join("---");alert(m.toString());alert(n);</script>

split():
功能:把一個字串按某個字元(串)分割成一個數組,但不修改原字串

代碼:

  1. var str="I love maomao,I am caolvchong";   
  2. var arr=str.split("o");//按字元o把str字串分割成一個數組   
  3. alert(arr);//輸出整個數組  
 var str="I love maomao,I am caolvchong"; var arr=str.split("o");//按字元o把str字串分割成一個數組 alert(arr);//輸出整個數組

運行: <script>var str="I love maomao,I am caolvchong";var arr=str.split("o");alert(arr);</script>

slice():返回某個位置開始(到某個位置結束)的數組部分,不修改原數組

代碼:

  1. var m=["am","bm","cm","dm","em","fm"];   
  2. var n=m.slice(2);//返回第二個元素bm後面的元素,即cm,dm,em,fm   
  3. var q=m.slice(2,5);//返回第二個元素後到第五個元素,即cm,dm,em   
  4. alert(n);   
  5. alert(q);  
 var m=["am","bm","cm","dm","em","fm"]; var n=m.slice(2);//返回第二個元素bm後面的元素,即cm,dm,em,fm var q=m.slice(2,5);//返回第二個元素後到第五個元素,即cm,dm,em alert(n); alert(q);

運行: <script>var m=["am","bm","cm","dm","em","fm"];var n=m.slice(2);var q=m.slice(2,5);alert(n);alert(q);</script>

數組對象的棧操作:
push():數組末尾添加一個項
pop():刪除數組最後一個項

代碼:

  1. var m=["am","bm","cm","dm","em","fm"];   
  2. m.push("gm");//在數組末尾添加元素gm   
  3. alert(m);   
  4. m.pop();//刪除數組最後一個元素gm   
  5. alert(m);  
 var m=["am","bm","cm","dm","em","fm"]; m.push("gm");//在數組末尾添加元素gm alert(m); m.pop();//刪除數組最後一個元素gm alert(m);

運行: <script>var m=["am","bm","cm","dm","em","fm"];m.push("gm");alert(m);m.pop();alert(m);</script>

數組對象的隊列操作:
unshift():數組頭添加一個項
shift():刪除數組第一個項

代碼:

  1. var m=["am","bm","cm","dm","em","fm"];   
  2. m.unshift("gm");//在數組第一個元素位置添加元素gm   
  3. alert(m);   
  4. m.shift();//刪除數組第一個元素gm   
  5. alert(m);  
 var m=["am","bm","cm","dm","em","fm"]; m.unshift("gm");//在數組第一個元素位置添加元素gm alert(m); m.shift();//刪除數組第一個元素gm alert(m);

運行: <script>var m=["am","bm","cm","dm","em","fm"];m.unshift("gm");alert(m);m.shift();alert(m);</script>

sort():數組按字元的ASCII碼進行排序,修改數組對象
注:即便是數字數組,也將轉化為字串來進行比較排序

代碼:

  1. var m=["am","fm","gm","bm","em","dm"];   
  2. m.sort();//按字母序排序   
  3. alert(m);  
 var m=["am","fm","gm","bm","em","dm"]; m.sort();//按字母序排序 alert(m);

運行: <script>var m=["am","fm","gm","bm","em","dm"];m.sort();alert(m);</script>

concat():在數組尾添加元素,但不修改數組對象

代碼:

  1. var m=["am","bm"]   
  2. var n=m.concat("cm");//添加一項cm,並且賦予新數組對象   
  3. alert(m);//原數組沒有被修改   
  4. alert(n);//輸出新數組對象  
 var m=["am","bm"] var n=m.concat("cm");//添加一項cm,並且賦予新數組對象 alert(m);//原數組沒有被修改 alert(n);//輸出新數組對象

運行: <script>var m=["am","bm"];var n=m.concat("cm");alert(m);alert(n);</script>

splice():在數組的任意位置進行添加,刪除或者替換元素,直接修改數組對象
細節:
splice()有三個參數或三個以上參數,前兩個是必須的,後面參數是可選的
進行添加:splice(起始項,0,添加項)
進行刪除:splice(起始項,要刪除的項個數)
進行替換:splice(起始項,替換個數,替換項) 這個其實是添加刪除的共同結果

代碼:

  1. var m=["am","bm"]   
  2. m.splice(1,0,"fm","sm");//在第一項後面添加fm和sm,返回am,fm,sm,bm   
  3. alert(m);   
  4. m.splice(2,1);//刪除第二項後面一項(即第三項sm,返回am,fm,bm)   
  5. alert(m);   
  6. m.splice(2,1,"mm");//替換第二項後面一項(即第三項,返回am,fm,mm)   
  7. alert(m);  
 var m=["am","bm"] m.splice(1,0,"fm","sm");//在第一項後面添加fm和sm,返回am,fm,sm,bm alert(m); m.splice(2,1);//刪除第二項後面一項(即第三項sm,返回am,fm,bm) alert(m); m.splice(2,1,"mm");//替換第二項後面一項(即第三項,返回am,fm,mm) alert(m);

運行: <script>var m=["am","bm"];m.splice(1,0,"fm","sm");alert(m);m.splice(2,1);alert(m);m.splice(2,0,"mm");alert(m);</script>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.