天天看點

JS 數組方法 array數組聲明 元素的添加和删除 等

  聲明數組

var arr1 = [1,2,3,4,5];         
    var arr2 = new Array(100);  //聲明長度為100的arr2數組。 arr2=[]; arr2.length = 100;
    var arr3 = new Array([1,2,3,4,5]); //是一個二維數組。 arr3 = [[1,2,3,4,5]]; arr3.length = 1; arr3[0] = [1,2,3,4,5];arr3[0].length = 5;
    var arr4 = new Array(1,2);    // arr3 = [1,2];arr3.length = 2;      

 

 前面添加unshift() 删除shift() 後面添加push() 删除pop() 

var arr1 = [1,2,3,4,5];
    arr1.unshift(5,6);      //arr1 = [5,6,1,2,3,4,5]; unshift: 在集合開頭添加一個或更多元素,并傳回新的數組
    var arr2 = [1,2,3,4,5];
    arr2.shift();           //arr2 = [2,3,4,5]   shift:從集合中把第一個元素删除,并傳回傳回新的數組
    var arr3 = [1,2,3,4,5];
    arr3.push(5,6);            //arr3 = [1,2,3,4,5,6] push:在集合中尾部元素,并傳回傳回新的數組
    var arr4 = [1,2,3,4,5];
    arr4.pop();             //arr4 = [1,2,3,4]  pop:從集合中把最後一個元素删除,并傳回傳回新的數組


    var arr5 = [1,2,3,4,5];
    arr5.length = 3;        //arr5 = [1,2,3]; 數組快速删除,并傳回新的數組。      

 

 數組的截取arr.slice(start,end)方法   start和end指下标,不包含end的元素

var arr = [1,2,3,4,5,6,7,8,9];

document.writeln(arr.slice(4)+\'<br />\'); // 輸出:[5,6,7,8,9]
document.writeln(arr.slice(-4)+\'<br />\'); // 輸出:[6,7,8,9]
document.writeln(arr.slice(0,4)+\'<br />\'); // 輸出:[1,2,3,4]
document.writeln(arr.slice(1,2)+\'<br />\'); // 輸出:[2]
document.writeln(arr.slice(3,-2)+\'<br />\'); // 輸出:[4,5,6,7]
document.writeln(arr.slice(1,100)+\'<br />\'); // 輸出:[2,3,4,5,6,7,8,9]      

  Array對象的slice(start,end)方法傳回數組從下标[start,end)的部分(不包含下标為end的元素)如果沒有指定end參數,

則從start開始到數組結尾的部分,slice()方法是截取arr的一段元素,原數組不變。

參數:

(1)start:開始截取的數組下标,如果start是負數,表明從數組尾部開始計算。

(2)end:結束截取的數組下标,如果end是負數,表明從數組尾部開始計算。

 

 數組的删除arr.splice(index,howmany,item1,.....,itemX) 方法 index起始下标 howmany 删除的個數 item 新添加的元素

var arr = [1,2,3,4,5,6,7,8,9];
    arr.splice(4);
console.log(arr); // 輸出:[1,2,3,4]  從下标為4的元素開始删除,删除0位,沒有插入,并傳回給數組
var arr = [1,2,3,4,5,6,7,8,9];
    arr.splice(-4);
console.log(arr);// 輸出:[1,2,3,4,5]
var arr = [1,2,3,4,5,6,7,8,9];
    arr.splice(1,2);
console.log(arr);// 輸出:[1,4,5,6,7,8,9] 從下标為1開始删除,删除2位,沒有插入,并傳回給數組
var arr = [1,2,3,4,5,6,7,8,9];
    arr.splice(1,4,555);
console.log(arr);// 輸出:[1,555,6,7,8,9] 從下标為1開始删除,删除4位,插入元素555,并傳回給數組
var arr = [1,2,3,4,5,6,7,8,9];
    arr.splice(1,4,10,11,12);
console.log(arr);// 輸出:[1,10,11,12,6,7,8,9] 從下标為1開始删除,删除4位,插入元素10,11,12,并傳回給數組
var arr = [1,2,3,4,5,6,7,8,9];
    arr.splice(1,4,[10,11,12]);
console.log(arr);// 輸出:[1,[10,11,12],6,7,8,9] 從下标為1開始删除,删除4位,插入元素10,11,12,并傳回給數組      

參數:

(1)index 必需。整數,規定添加/删除項目的位置,使用負數可從數組結尾處規定位置。

(2)howmany 可需。要删除的項目數量。如果設定為 0,則不會删除項目。

(3)item1, ..., itemX 可選。向數組添加的新項目(可為元素,可為數組)。

 

 數組的拼接concat(arrayX,arrayX,......,arrayX) 方法用于連接配接兩個或多個數組

var arr = [1,2,3];
var newArr = arr.concat(4,5);
console.log(newArr);  // 輸出 [1,2,3,4,5];

var _arr = [1,2,3];
var _arr1 = [4,5];
var _arr2 = [6,7,8]
var _newArr = arr.concat(_arr1,_arr2);
console.log(_newArr);  // 輸出 [1,2,3,4,5,7,8];      

   該方法不會改變現有的數組,而僅僅會傳回被連接配接數組的一個副本,需賦給一個新的數組。

 

 數組的倒叙reverse() 方法用于颠倒數組中元素的順序

var arr = [1,2,3];
arr.reverse();
console.log(arr);    //輸出[1,2,3]  将原有數組倒過來      

  數組join(separator) 方法用于把數組中的所有元素放入一個字元串

var arr = [1,2,3];
var str1 = arr.join(\'a\');
var str2 = arr.join(\'\');
var str3 = arr.join();
console.log(str1);           //    1a2a3a  類型 string
console.log(str2);           //    123        類型 string
console.log(str3);           //    1,2,3    類型 string      

參數:

 separator 可選。指定要使用的分隔符。如果省略該參數,則使用逗号作為分隔符。