JavaScript初階(十)---------- 數組

來源:互聯網
上載者:User

標籤:正序   關注   拼接   cat   字串拼接   小明   表數   string   .so   

數組  數組的定義

    1.數組字面量(直接量)

var arr = [1, 2, 3];

    2.利用建構函式

new Array(length/content)

 

           

var arr = new Array(1,2,3,4);arr = [1,2,3,4]

        

     如果只傳一位參數就代表數組的長度。注意:數組只能溢出寫不能溢出讀。

 

 

數組方法(重點)能改變原數組的7種方法 1.  arr.push( )  

     從數組最後添加元素。

var arr = [1,2,3,4];arr.push(123,[],{})

  

    仿寫一個push方法

    

Array.prototype.push = function(target){    var len = this.length;    (this[len] = target; //一個參數)    for(var i = 0; i < arguments.length; i++){        this[this.length] = arguments[i];//多個參數}

 

  

 

2.   arr.pop( )        不用傳參數

    剪下數組最後那個元素並返回。

 

3.   arr.shift( )       不用傳參數

    在前面剪下元素並返回。

 4. arr.unshift( )   

    在數組前面添加元素。可以一個,也可以多個,例如

          var arr = [1,2,3,4];          arr.unshift(0);//******arr = [0,1,2,3,4]

  

          var arr = [1,2,3,4];          arr.unshift(-2,-1,0);//************arr=[-2,-1,0,1,2,3,4]

 

5.   arr.reverse( ) 

   將數組元素逆轉。

 

6.  arr.splice( )

  可傳入多個參數,返回的是剪下的數組,第一個參數是開始操作位,第二個是剪下長度,之後的參數都是從操作位添加元素。

var arr = [1,2,3,4];arr.splice(0,2);  //返回的是剪下的數組 [1,2],這時候arr=[3,4]

  

         當剪下長度是0的時候,可以用來添加元素  這種方法常用來插入資料

var arr = [1,2,3,4];arr.splice(0,0,5,6,7); //返回的是 []        ,這時候arr= [5,6,7,1,2,3,4]

  

     

7.  arr.sort( )   用來排序

      arr.sort( )自己的方法是通過ASCII進行排序。一般我們都是自訂方法,自訂規則。關注傳回值,如果返回的是正數,那麼後面的數在前面,如果返回的是負數,那麼前面的數

在前。運算元,會將數組中的任意的兩位元傳到函數裡面,當做a,和b,然後根據傳回值,按照上述方法進行排序。例如:

 

var arr = [2,9,6,1,7,8,3];arr.sort(function (a,b) {if(a > b){ return 1;}else{return -1;}}//arr [1,2,3,6,7,8,9] 正序arr.sort(function (a,b){    if(a < b){        return 1;}else{return -1;}}//arr [9,8,7,6,3,2,1]; 倒序

  

      簡寫如下:

var arr = [1,6,2,7,8]arr.sort(function (a,b) {return a-b;//正序return b-a;//倒序})            

 

  

    將正序的數組隨機排列:

var arr = [1,2,3,4,5,6,7,8];arr.sort(function () {var ret = Math.random() - 0.5;return ret;})

  

    將對象按照某個屬性排列:

var arr = [{name:‘大明‘,age:20},{name:‘小明‘,age:18}]arr.sort(function (a,b){return a.age - b.age;}

  

 

以上7種方法都能改變原數組  push()    pop()     shift()   unshift()  reverse()  splice()  sort()    不能改變原數組的2種方法1.  arr.concat( )

    對兩個數組進行串連

var arr = [1,2,3];var arr1 = [2,3,4];var arr2 = arr.concat(arr1); // [1,2,3,2,3,4]

  

2. arr.join( )

    將數組按照傳進去的符號進行串連,最後轉化為字串返回。預設是逗號串連。

    

var arr = [1,2,3];arr.join("-") // "1-2-3"

  

3.  arr.toString( )

    將數組的每一位轉化為字串並返回

var arr1= [[],1,2,3];arr1.toString();var arr2 = [{},1,2,3];arr2.toString();

    結果如下:

    

 4.  str.split( )   這是字串的方法,操作的是字串,剛好與join相反

      將字串按照傳進去的符號拆分為字串形式的數組

var arr = [1,2,3];var str1 = arr.join("-") // "1-2-3"str.split(‘-‘);   //["1","2","3"]

           從上面我們可以知道,這個方法可以將數組裡面的元素變成字串的形式。

 

 

接下來看到例題鞏固一下:  用最快的方法將以下字串拼接為字串:“上海”,“北京”,“中山”,“深圳”,“廣州”,“梅州”

      

            方法一: 棧操作(耗效能)

            

var str = "";str += "上海"+“北京”+“中山”+“深圳”+“廣州”+“梅州”;//"上海北京中山深圳廣州梅州"

                            

    方法二: 堆操作(利用數組)

var arr = ["上海","北京","中山","深圳","廣州","梅州"];                    arr.join(‘‘);      //"上海北京中山深圳廣州梅州"

  

 

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.