1. 程式人生 > >Array(陣列)10個常用方法

Array(陣列)10個常用方法

1、push 在陣列末尾新增一個或多個元素,並返回陣列的長度, 可以新增任意型別的值作為陣列的一個元素。

    語法:arr.push(newelement1,newelement2,....,newelementX)

    示例程式碼:

    var arr = [1,2];

    arr.push(6);                // arr:[1,2,6];返回值為3

    arr.push('aa');            // arr:[1,2,6,"aa"];返回值為4

    arr.push(undefined);      // arr: [1,2,6,"aa",undefined];返回值為5

    arr.push({a: "A", b: "B"});  // [1,2,6,"aa",undefined,{a: "A", b: "B"}];返回值為6

2、unshift 在最前面新增一個或多個元素,並返回陣列的長度,可以新增任意型別的值作為陣列的一個元素。

    語法:arr.unshift(newelement1,newelement2,....,newelementX)

    示例程式碼:

    var arr = [1,2];

    arr.unshift(9);      // arr:[9, 1, 2];返回值為3

    arr.unshift('aa')   // arr:['aa',9, 1, 2];返回值為4

3、pop 刪除最後一個元素,並返回刪除元素的值;如果陣列為空則返回undefine。該方法會改變原始陣列

    語法:arr.pop()

    示例程式碼1:

    var arr = [1,2,3,"aa",5];

    arr.pop();       // arr: [1, 2, 3, "aa"];返回值為5

    arr.pop();      // arr: [1, 2, 3];返回值為"aa"

    示例程式碼2:

    var arr = [];

    arr.pop();      // 返回值為undefine

4、shift 刪除陣列第一個元素,並返回被刪除的元素;如果陣列為空則返回undefine。該方法會改變原始陣列

    語法:arr.shift()

    示例程式碼1:

    var arr = [1,"aa",3,4,5];

    arr.shift();       // arr: ["aa", 3, 4,5];返回值為1

    arr.shift();      // arr: [3, 4, 5];返回值為"aa"

    示例程式碼2:

    var arr = [];

    arr.shift();      // 返回值為undefine

5、slice擷取陣列,得到擷取的陣列;不改變原始陣列,得到新的陣列.與String的substring()方法類似。

    語法:slice(start,end)

    ps:

    1.start從0開始

    2.包含start位置元素,不包含end位置元素

    3.end可以省略,省略表示擷取從start位置到陣列結束

    示例程式碼:

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

    var a1 = arr.slice(1);        // a1: [2,3,4,5] ;arr不會被改變

    var a2 = arr.slice(1,3);      // a2: [2,3] ;arr不會被改變

    var a3 = arr.slice(3,4);     // a3: [4] ;arr不會被改變

6、splice剪接陣列,向/從陣列中新增/刪除專案,然後返回被刪除的專案,該方法會改變原始陣列,索引從0開始

    語法:splice(index,howmany,item1,.....,itemX)

    ps:

    1.index => 必需。整數,規定新增/刪除專案的位置,使用負數可從陣列結尾處規定位置。

    2.howmany => 可省略。要刪除的專案數量。如果設定為 0,則不會刪除專案,如果省略,則會刪除index位置及其後面的所有元素。

    3.item1, ..., itemX => 可選。向陣列新增的新專案。

    4.splice() 方法可刪除從 index 處開始的零個或多個元素,並且用引數列表中宣告的一個或多個值來替換那些被刪除的元素。

    如果從陣列中刪除了元素,則返回的是含有被刪除的元素的陣列。

    示例程式碼:

    var arr = [1,2,3,4,5];   //以下注釋結果分別對陣列arr進行操作

    arr.splice(1);   // arr:[1]; 返回值為陣列[2,3,4,5]

    arr.splice(1, 2);    // arr:[1, 4, 5]; 返回值為陣列[2,3]

    arr.splice(1, 0, 'A');   // arr:[1, "A",2,3, 4, 5]; 未刪除元素,返回值為空陣列[]

    arr.splice(1, 2, 'A', 'B');   // arr:[1, "A", "B", 4, 5]; 返回值為陣列:[2,3]

7、concat 合併兩個或多個數組,得到新陣列,原始陣列不改變,如果要進行concat()操作的引數是陣列,那麼新增的是陣列中的元素,而不是陣列。

    語法:arr.concat(arr1,arr2,......,arrN)

    示例程式碼:

    var arr1 = [1,2];

    var arr2 = [3,4,5];

    var arr3 = [6,7];

    var arr = arr1.concat(arr2,arr3);     // arr:[1,2,3,4,5,6,7]

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

8、indexOf 陣列元素索引,並返回元素索引,不存在返回-1,索引從0開始

    語法:arr.indexOf(searchvalue,fromindex)

    ps:

    1.searchvalue => 必需。規定需檢索的字串值。

    2.fromindex => 可選。元素開始檢索的位置。如省略,則從陣列的首個元素開始

    3.indexOf()方法對大小寫敏感!

    示例程式碼:

    var arr = ['a','b','c','d','e'];

    arr.indexOf('a');       //返回值為0

    arr.indexOf('f');       //返回值為-1

    arr.indexOf('e',2);       //返回值為4

9、join 陣列轉字串,與toString()方法類似

    語法:arr.join(separator)

    ps:

    1.separator => 可選。指定要使用的分隔符。如果省略該引數,則使用逗號作為分隔符。

    2.返回一個字串。

    3.該字串是通過把陣列arr中的每個元素轉換為字串,然後把這些字串連線起來,在兩個元素之間插入 separator 字串而生成的。

    示例程式碼:

    var a, b, c;

    a = [0, 1, 2, 3, 4];

    b = a.join("-");    // 0-1-2-3-4

    c = a.toString();   // 0,1,2,3,4

10、reverse 顛倒陣列中元素的順序,該方法會改變原來的陣列,而不會建立新的陣列。

    語法:arr.reverse()

    示例程式碼:

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

    a.reverse();    //a:[5, 4, 3, 2, 1] 返回值為陣列[5, 4, 3, 2, 1]