數組的創建及其常見的方法


數組——復雜類型數據,用 Array 表示

數組的創建(兩種方法):

第一種方法:構造函數的方法定義

  例如:var arr = new Array()  // 定義了一個空數組

          var arr = new Array(5)  // 定義了一個數組,有五個變量,但是還沒有進行賦值

     var arr = new Array("a","b","c",  ...)  //定義了一個數組,里面有 "a","b","c",  ... 這些變量

第二種方法:字面量的定義

  例如:var arr = [ ]  等價於  var arr = new Array()

             var arr = ["a","b","c",  ...]  等價於  var arr = new Array("a","b","c",  ...)

數組常見的方法(官方函數):

1、push()  功能:在數組的末尾添加一個或多個元素,並返回新數組的長度。

function fn1() {
        var scores = [1,2,3,4,5,6];
        // push();給數組的末尾增加一個元素
        scores.push(8);
        console.log(scores);
        // 結果為[1, 2, 3, 4, 5, 6, 8],length為7
    }
   fn1()

2、pop()  功能:刪除數組里最后一個元素,返回值就是被刪除的元素。

function fn2() {
        var scores = [1,2,3,4,5,6]
        // pop();刪除數組里最后一個元素
        // 返回值是 6
        console.log(scores.pop()) 
        // 結果為[1, 2, 3, 4, 5]
        console.log(scores)
    }
    fn2()

3、unshift()  功能:在數組的開端添加一個或多個元素,並返回新數組的長度。

function fn3() {
        var scores = [1,2,3,4,5,6]
        // unshift();開端添加一個元素
        // 返回值是 7
        console.log(scores.unshift(8)) 
        // 結果為[8, 1, 2, 3, 4, 5]
        console.log(scores)
    }
    fn3()

4、shift()  功能:刪除數組里第一個元素,返回值就是被刪除的元素。

function fn4() {
        var scores = [1,2,3,4,5,6]
        // pop();刪除數組里第一個元素
        // 返回值是 1
        console.log(scores.shift()) 
        // 結果為[2, 3, 4, 5, 6]
        console.log(scores)
    }
    fn4()

5、concat()  功能:可以給數組的末尾增加元素,但是cancat並不會改變原始的數組,concat的返回值是添加元素后的結果,既可以拼接數組,也可以拼接元素。

function fn5() {
        var scores = [1,2,3,4,5,6]
        // 結果為[1, 2, 3, 4, 5, 6, 7, 8]
        console.log(scores.concat(7,8)) 
        // 結果為[1, 2, 3, 4, 5, 6]
        console.log(scores)
    }
    fn5()

6、reverse()  功能:把數組的元素的順序進行顛倒。

function fn6() {
        var scores = [1,2,3,4,5,6]
        // 結果為[6, 5, 4, 3, 2, 1]
        console.log(scores.reverse()) 
        // 結果為[6, 5, 4, 3, 2, 1]
        console.log(scores)
    }
    fn6()

7、slice()  功能:從數組里取出一部分元素(根據起始下標和結束下標),但不包括結束下標;不會改變原始數組。

function fn7() {
        var scores = [1,2,3,4,5,6]
        // 結果為[3, 4, 5],表示從下標 2 取到下標 5 ,但不包括下標 5 代表的數
        console.log(scores.slice(2,5)) 
        // 結果為[1, 2, 3, 4, 5, 6]
        console.log(scores)
    }
    fn7()

8、join()  功能:把數組中所有元素拼接成一個字符串,元素是通過指定的分隔符進行分割的,默認為逗號;不會改變原始數組。

function fn8() {
        var scores = [1,2,3,4,5,6]
        // 結果為1,2,3,4,5,6
        console.log(scores.join())
        // 結果為1-2-3-4-5-6
        console.log(scores.join('-'))
        // 結果為[1, 2, 3, 4, 5, 6]
        console.log(scores)
    }
    fn8()

9、sort()  功能:只能排序字符串,不能排序數字(默認是按字符編碼進行排序)

function fn9(){
        var arr=['t','f','b','a','c'];
        arr.sort();
        // 結果為["a", "b", "c", "f", "t"]
        console.log(arr);
    }
    fn9()

10、splice()  功能:既可以添加元素,也可以刪除元素,關鍵是它可以在在指定下標刪除,或者添加。

function fn10(){
        var arr = ['關羽','李逵','劉備','武松','宋江','張飛','盧本偉']
        //在下標2的位置插入了 William
        // 結果為["關羽", "李逵", "William", "劉備", "武松", "宋江", "張飛", "盧本偉"]
        arr.splice(2,0,"William");
        console.log(arr);

        //把下標為3的元素刪除掉了(劉備),在下標3的位置插入了 William他姐
        // 結果為["關羽", "李逵", "William", "William他姐", "武松", "宋江", "張飛", "盧本偉"]
        arr.splice(3,1,"William他姐");
        console.log(arr);

        //刪除元素:從下標2開始刪除2個,插入元素:在下標2的位置插入了 William他弟
        // 結果為["關羽", "李逵", "William他弟", "武松", "宋江", "張飛", "盧本偉"]
        arr.splice(2,2,"William他弟");
        console.log(arr);

        //刪除元素:從下標2開始刪除3個,插入元素:在下標2的位置插入了 William他妹 和 William他哥
        // 結果為["關羽", "李逵", "William他妹", "William他哥", "宋江", "張飛", "盧本偉"]
        arr.splice(2,2,"William他妹","William他哥",);
        console.log(arr);
    }
    fn10()

補充:數組的length屬性

用法:例  var arr = [12,23,34,45]

           console.log(arr.length)  // 結果為 4

下標(索引):console.log(arr[0])  // 結果為 12

       console.log(arr[2])  //結果為 34

下標還可以是變量或者表達式:var i = 0  console.log(arr[i])  // 結果為 12

                     console.log(arr[i+2])  //結果為 34

 

 

感謝您的閱讀,歡迎留下寶貴的意見!

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM