javascript之數組

來源:互聯網
上載者:User

標籤:slice   def   reac   數組   back   大於   efi   join   返回   

  • 定義數組

    定義數組有兩個方法:

    1、var arr1 = [];  //定義一個空數組

    2、var arr2 = [1,2,3,"str1","str2"];  //定義一個有5個元素的數組。

    3、var arr3 = new Array(3);  //定義一個空數組

    4、var arr4 = new Array(1,2,3,"str1","str2");  //定義一個指定長度為5的數組。

            數組元素的讀和寫:

 

    arr[0];    //讀取第一個數組元素

    arr[0] = "str1";  //改變數組第一個元素的值。

 

  1.稀疏數組。

 

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

    in 操作符用於檢測元素在某位置是否存在元素,注意undefined也算存在。

    如:var a1 = [,,];

      var a2 = new Array(3);

      0 in a1;  //true,因為a[0]有undefined元素

      0 in a2;  //false,a2在索引0處沒有元素

  2.數組長度

    length屬性用於標誌數組的長度

    如:var arr = [1,2,3,4,5];

      arr.length;  //5 arr數組有5個元素

  3.數組元素的添加和刪除

    push:  //在數組的末尾添加一個元素

    var arr = [1,2,3];

    arr.push(4,5);    //arr變為[1,2,3,4,5]

    delete: //刪除數組某個位置的元素

    var arr = [1,2,3]

    delete arr[1]  //arr變為[1,,3]

    1 in arr      //false

  4.數組的遍曆

    數組的遍曆通常使用for語句來實現

    var arr = [1,2,3,4,5];

    for(var i = 0.i<arr.length;i++){

      if(!a[i]) continue;        //跳過null,undefined和不存在的元素

    }

  5.多維陣列

    多維陣列就是數組裡的元素還是數組

    如:var arr = [[1,2,3],[,4,5,6]];

      arr[1][1];  // 5

  6.數組方法

   1、 join()  用於將數組中所有元素都轉化為字串 並串連在一起,還可以自訂串連字元

      var arr = [1,2,3];

      arr.join();    // => "1,2,3"

      arr.join("==");   // => "1==2==3";

   2、 reverse()  用於將數組元素的順序顛倒

      var arr = [1,2,3];

      arr.reverse();  //arr數組變為[3,2,1]

   3、 sort();   //用於對數組內的元素進行排序。可以傳入一個函數用作排序,如果為空白,則按字母順序排序。undifined元素排到最後

      var arr = [1,2,3];

      a.sort(function(a,b){

        return a-b; //排序標準 負數 0 正數,比較結果先返回小的那個 

      });  //arr數組的值為[1,2,3]  如果第二個條件變為b-a則結果為[3,2,1]

    4、concat()  //用於組合一個新的數組,返回一個新的數組

      var arr = [1,2,3]

      arrnew = arr.concat(4,5)  //arrnew數組為[1,2,3,4,5]

      arrnew1 = arr.concat([4,5],[6,7]);  //arrnew1數組為[1,2,3,4,5,6,7]

     5、slice()  //用於返回數組指定區間的元素組成的數組,如果輸入一個參數,則是從這個參數到結束之間的數組。兩個參數就是,第一個參數是起始位置,第二個參數是個數。

       var arr = [1,2,3,4,5];

       var arr1 = arr.slice(2);  //[3,4,5]

       var arr2 = arr.slice(1,3); //[2,3]

   6、splice()   刪除或者添加元素。會改變原數組本身,相當於C#中的引用(ref),原數組是刪除的元素組成的數組,傳回值是剩下的元素組成的數組。

      var arr = [1,2,3,4,5];

      var arr1 = arr.splice(1,3);  //arr為[2,3,4],返回的數組arr1為[1,5]

      var arr2 = [1,2,3,4,5];

      var arr3 = arr2.splice(2,0,‘a‘,‘b‘);  //從第2位開始刪除,刪除兩個元素,然後從該位置插入‘a‘,‘b‘;arr2為[],因為沒有刪除任何元素,arr3[1,2,‘a‘,‘b‘,3,4,5]

   7、 push()與pop()  在數組尾部添加或刪除一個元素,添加時返回之為最後一個添加的元素,刪除時。傳回值為刪除的那個元素。

      push()  函數在數組尾部添加一個元素。

      pop()   函數刪除數組的最後一個元素。

      var arr = [1,2,3]

      arr.push(4);  //arr為[1,2,3,4]

      var arr1 = [1,2,3]

      arr.pop();   //arr1為[1,2]

   8、unshift()和shift()

      shift(),unshift()與push(),pop()只不過,是在數組頭部操作而非尾部。

      shift()  在數組頭部移除一個元素,傳回值為被刪元素。

      unshift() 在數組頭部添加一個元素,返回組為最後一個添加的元素。

      var arr = [1,2,3];

      var a = arr.shift();  //arr變為[2,3] a為1

      var arr1 = [1,2,3];

      var b = arr1.unshift([4,5]);  //arr1變為[4,51,2,3],b為4  返回最後一個添加的,先添加5再添加4

      9、toString()和toLocaleString()  將數組轉化為字串

      var arr = [1,2,3]

      arr.toString();  //產生"1,2,3"  與不使用任何參數的join()是一樣的。

  • ECMAScript中的數組方法

  1、forEach()  forEach() 從頭到尾遍曆數組,為每個元素調用指定的函數。

     var arr = [1, 2, 3, 4, 5];     var sum = 0;     arr.forEach(function (value) {        sum = sum + value;     });     document.write(sum);  //sum最終為15

    2、map()  map()方法將調用的數組的每個元素傳遞給指定的函數,並返回一個數組。

       var arr = [1, 2, 3, 4, 5];        var arr1 = arr.map(function (value) {            return value + 1;        });        document.write(arr1.join()); //arr1為[2,3,4,5,6]

 

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.