1. 程式人生 > >javascript常用的陣列操作方法

javascript常用的陣列操作方法

在js中對陣列的操作有很多種方法,那這些方法具體都有什麼?今天,我們來看看。

(1):join()

             join()方法用於把陣列中的所有元素放入一個字串。元素是通過指定的分隔符進行分隔的,預設使用‘,’號分割,不改變原陣列。

var arr = [1,2,3,4];
console.log(arr.join());
console.log(arr.join('-'));
console.log(arr.join('*'));

控制檯輸出結果:

(2):concat()

             concat()方法用於連線兩個或多個數組。該方法不會改變現有的陣列,僅會返回被連線陣列的一個副本。

var arr1 = [1,2,3,4];
var arr2 = [5,6,7,8];
var arr3 = arr1.concat(arr2);
console.log(arr1);
console.log(arr2);
console.log(arr3);

(3):push()

             push()方法可向陣列的末尾新增一個或多個元素,並返回新的長度。末尾新增,返回的是長度,會改變原陣列。

var arr4 = [11,22,33];
var arr5 = arr4.push(44);
console.log(arr4);
console.log(arr5);

(4):pop()

             pop()方法用於刪除並返回陣列的最後一個元素。返回最後一個元素,會改變原陣列。

var arr6 = [99,88,77];
console.log(arr6.pop());
console.log(arr6);

(5):shift()

             shift()方法用於把陣列的第一個元素從其中刪除,並返回第一個元素的值。返回第一個元素,改變原陣列。

var arr6 = [99,88,77];
console.log(arr6.shift());
console.log(arr6);

(6):unshift()

             unshift()方法可向陣列的開頭新增一個或更多元素,並返回新的長度。返回新長度,改變原陣列。

var arr7 = [4,5,6,7,8];
console.log(arr7.unshift(1,2,3));
console.log(arr7);

(7):slice()

             slice()返回一個新的陣列,包含從start到end(不包括該元素)的arrayObject中的元素。返回選定的元素,該方法不會修改原陣列。

var arr7 = [4,5,6,7,8];
console.log(arr7.slice(2,3));
console.log(arr7);

(8):splice()

            splice()方法可以刪除從index處開始的零個或多個元素,並且用引數列表中宣告一個或多個值來替換那些被刪除的元素。如果從arrayObject中刪除了元素,則返回的是含有被刪除的元素的陣列。splice()方法會直接對陣列進行修改。

var arr7 = [4,5,6,7,8];
console.log(arr7.splice(1,0,9));
console.log(arr7);

(9):substring()和substr()

           相同點:如果引數只有一個,兩者作用一樣:都是擷取字串從當前下標以後直到字串最後的字串片段。

           不同點:第二個引數:

                        substr(startindex,length):第二個引數是擷取字串的長度;

                        sbstring(startindex,endindex):第二個引數是擷取字串最終的下標(含頭不含尾);

var arr8 = '123456789';
console.log(arr8.substr(4));
console.log(arr8.substring(4));
console.log(arr8.substr(2,6));
console.log(arr8.substring(2,6));

(10)sort():排序,預設升序;

(11):reverse()

              用於顛倒陣列中的元素的順序。返回的是顛倒後的陣列,會改變原陣列。

var arr7 = [4,5,6,7,8];
console.log(arr7.reverse());
console.log(arr7);

(12):indexOf和lastIndexOf

               都接收兩個引數:查詢的值、查詢起始值不存在,返回-1;存在,返回位置。indexOf從前往後找,lastIndexOf從後往前找。

(13):every()

               對陣列的每一項都執行給定的函式,每一項都返回true,則返回true。

function isBig(element,index,array) {
    return element < 10;
}
[1,2,3,4,5].every(isBig);

(14):some()

             對陣列的每一項都執行給定的函式,任一項都返回true,則返回true。

(15):filter()

             對陣列的每一項都執行給定的函式,返回結果為true的項組成的陣列。

對於陣列的方法Es6還有一些,以後會慢慢了解。