js對陣列的常用操作

2022-07-13 14:51:10 字數 2974 閱讀 4086

在js中對陣列的操作是經常遇到的,我呢在這就列一下經常用到的方法

刪除陣列中的元素:

1.delete方法:

delete刪除的只是陣列元素的值,所佔的空間是並沒有刪除的

**:

var arr=[12,23,44,5,6,23,43,34];

console.log(arr.length);

console.log(arr);

delete arr[1];

console.log(arr);

console.log(arr[1]);

console.log(arr.length);

執行結果在這裡:

這個就很直觀的看得出來,刪除後,陣列的長度前後是並沒有變化的。被刪除的元素位置還是留在那,讀取到該下標元素的時候,元素的值為undefined。

2.splice方法:該方法刪除陣列指定的元素,並且可以給陣列新增新的元素,即實現刪除/替換陣列的某項元素。splice(下標,刪除的長度,替換的新元素)

arr.splice(index,length,items,items,...);

注意:如果不新增item的時候,就是陣列的刪除,會改變原陣列的長度

**如下:

var arr=[12,23,44,5,6,23,43,34];

console.log(arr.length);

arr.splice(1,2);//

從下標為1的元素開始刪除,刪除的長度為2即23,44兩個數

console.log(arr);

console.log(arr.length);

執行後的結果:

從執行結果中可以看得出來,原陣列中的23,44兩個元素被刪除了,陣列長度由原來的8變成了6

shift方法:

刪除第乙個陣列元素,不帶引數,

陣列的長度會減1,並且返回的是陣列的第乙個元素

;arr.shift();

注意:如果陣列是空的,那麼 shift() 方法將不進行任何操作,返回 undefined 值。請注意,該方法不建立新陣列,而是直接修改原有的 arrayobject

pop方法:刪除陣列的最後乙個元素,陣列的長度會減1,並且返回的是陣列的最後乙個元素(通過alert()可以檢視出返回的是哪個值)

arr.pop();

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

alert(arr.shift());

arr.pop();

alert(arr.pop());

console.log(arr);

增加陣列:

/*****檢測方法都是和上面的類似的,下面這些我就羅列測試結果截圖了*****/

unshift(): 方法:在陣列的第乙個元素前面增加乙個元素,陣列的長度會加1,該方法會改變原來陣列的長度.

arr.unshift(newelement)

push():在陣列的結尾追加元素,可以追加多個元素,該方法會改變原來陣列的長度 

arr.push(newelement,...);

注意:追加的元素最好是簡單型別的字面量,不要是陣列,如果是陣列的,追加過來的元素會在該位置顯示為乙個陣列,元素就會變成了二維陣列,甚至多維陣列

concat():合併兩個或多個陣列,該方法不會改變現有的陣列,而僅僅會返回被連線陣列的乙個副本

陣列排序:

sort():該方法是對陣列進行公升序排序,規則是按ascii表的規則來的

arr.sort();

reverse():對陣列進行翻轉操作

arr.reverse();

js模擬原理實現的**:

var arr = ["諸葛亮","安琪拉","狄仁傑","后羿","荊軻","娜可露露","魯班"];

//思路:實現方法:1.操作原陣列,讓原陣列第一位和最後乙個位調換位置,以此類推。

for(var i=0;i//

讓前後陣列中的元素交換位置。

var temp =arr[i];

//前面項和對應的後面項交換位置。(arr.length-1-i = 倒數第i+1項)

arr[i] = arr[arr.length-1-i];

arr[arr.length-1-i] =temp;

}console.log(arr);

檢測是否為陣列:

arr.isarray(obj):該方法適用於確定傳遞的值是否為array,是array返回的則是true,否的話返回的是false

array.isarray([1, 2, 3]);  // true

array.isarray(); // false

array.isarray("foobar"); // false

array.isarray(undefined); // false

intanceof 同樣也是檢測使用的  

語法:a instanceof object  

返回的值是true or false;

其他方法:

slice():從當前陣列中擷取乙個新的陣列,不影響原來的陣列,引數start從0開始,end從1開始(從第乙個元素開始)

arr.slice(star,end);

注意:如果slice裡面沒有定義結束的位置的話,那麼擷取的元素就從被擷取元素的開始位置一直擷取到結束位置

arr.join():把陣列轉換成為字串,可以自己定義分隔符 arr.join("自定義分隔符如&"),預設是逗號隔開,如果要沒有分隔符的話,就arr.join("");

arr.tostring():同樣是把陣列轉成字串,但是返回的字串每項都是用逗號隔開的

js對陣列的常用操作

js對陣列的操作是經常遇到的,我列舉了下經常遇到的方法 1.splice方法 該方法刪除陣列指定的元素,並且可以給陣列新增新的元素,即實現刪除 替換陣列的某項元素。splice 下標,刪除的長度,替換的新元素 arr.splice index,length,items,items,注意 如果不新增i...

js對陣列操作

計算陣列的長度 var arr 1,2,3,4,5,6 alert arr.length 彈出結果是6連線兩個或者跟多的陣列,並返回結果 var arr1 1,2,3 var arr2 arr1.concat 4,5 var arr3 arr1.concat 4,5 console.log arr2...

JS對陣列的操作

可使用slice 進行複製,因為slice 返回也是陣列。var array1 new array 1 2 3 var array2 array2 array1.slice 0 array1.length 0 alert array2 返回1 2 3 concat 返回的並不是呼叫函式的array,...