JavaScript——數組(一)

來源:互聯網
上載者:User

標籤:自己的   strong   詳細   標識   索引   區別   操作符   array   ...   

一.數組的基本概念

    數組是值的有序集合,每一個值都叫做一個元素,而每個元素在數組中都有自己的位置,以數字表示,稱為索引(從0開始標識)。

  在JS中,數組沒有特定的類型,數組元素可以是任意類型並且同一個數組中的不同元素也可能有不同的類型。

  

 

二.建立數組

  1.建立數組有兩個方法,但是使用數組直接量(或者數組字面量)是建立數組最簡單的方法;

    1.1  數組直接量(數組字面量):在方括弧中將數組元素用逗號隔開即可

      文法 : var 數組名 = [ 元素1,元素2,元素3,......]

      如果省略數組直接量中的某個值,省略的值將被賦予undefined值,例如:

          var  arr1 = [1,,3];                             //數組有3個元素,中間的元素值為undefined

          var  arr2 = [,,];                                 //數組有兩個元素,都為undefined

            註:這裡arr2裡面有兩個逗號,為什麼不是三個元素而是兩個元素?

              因為數組直接量的文法允許有可選的結尾的逗號,故arr2裡面只有兩個元素而不是三個。

    1.2  調用建構函式Array()

      ?  沒有參數 :var  arr1 = new Array();   

       這裡建立了一個沒有任何元素的空數組(相當於數組直接量表示的 var arr1 = [ ])

 

         ?  一個參數 :var  arr2 = new Array(10);   

       這裡建立了一個長度為10的數組

                    如果只有一個為整數的數值參數,那這個參數指定長度

 

      ? 兩個或多個參數 :var  arr3 = new Array(1,2,3,"test","test");  

       如果有兩個或多個參數,那傳進來的參數就是這個數組的元素   

三.稀疏數組

   稀疏數組就是包含從0開始的不連續索引的數組。通常,數組的length屬性值代表數組中的元素個數,如果數組是稀疏的,length屬性值大於數組元素個數。

    可以用Array()建構函式或簡單地指定數組的索引值大於當前的數組長度來建立稀疏數組。

    a = new Array(5);               //數組沒有元素,但是a.length是5

    a = [ ];                                     //建立一個空數組,length為0

    a = [100];                                //賦值添加一個元素,但是length為101

  也可以用delete操作符來生產稀疏數組,此處不詳細解釋。

  足夠稀疏的數組通常在實現上比稠密的數組更慢,記憶體利用率更高,在這樣的數組中尋找元素的時間與常規對象屬性的尋找時間一樣長。

 

  註:在數組直接量中省略值時不會建立稀疏數組。省略的元素在數組中是存在的,值為undefined,這和數組元素根本不存在是有區別的。

       var  arr = [,,,];       //數組是[undefined,undefined,undefined];

    但是當這個數組使用連續的逗號時,比如[1,, 3],這時所得到的數組也是稀疏數組,省略的值並不存在。

 

四.數組長度

  每個數組有一個length屬性,針對稠密數組(非稀疏數組),length屬性值代表的是數組中的元素個數,其值比數組中最大的索引值大1。

    [ ]. length                               //   0     數組沒有元素

    [‘a‘,‘b‘,‘c‘].length                     //   3     最大索引值為2,length為3

   

    

 

 

 

 

 

 

 

 

      

  

 

JavaScript——數組(一)

聯繫我們

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