常見陣列的方法總結

2022-08-28 09:03:08 字數 3730 閱讀 3799

arrayobj.pop():就是向陣列中刪除陣列最後乙個元素並且返回該元素。如果陣列為空就返回undefined。
join() 方法用於把陣列中的所有元素放入乙個字串。元素是通過指定的分隔符進行分隔的。返回乙個字串。

reverse()方法會對反轉陣列項的順序。

```var values = [1, 2, 3, 4, 5];

values.reverse();

alert(values); //5,4,3,2,1```

這裡陣列的初始值及順序是1、2、3、4、5。而呼叫陣列的reverse()方法後,其值的順序變成了5、4、3、2、1。

sort()方法按公升序排列陣列——即最小的值位於最前面,最大的值排在最後面。為了實現排序,sort()方法會呼叫每個陣列項的tostring()轉型方法,然後比較得到字串,以確定如何排序。即使陣列中的每一項都是陣列,sort()方法比較的也是字串,如下所示:

values.sort();

alert(values); //0,1,10,15,5 ```

這種排序方式在很多情況下都不是最佳方案。因此sort()方法可以接受乙個比較函式作為引數,以便我們指定那個值位於那個值的前面。

比較函式接受兩個引數,如果第乙個引數應該位於第二個之前則返回乙個負數,如果兩個引數相等,則返回0,如果第乙個引數位於第二個之後則返回乙個正數。以下就是乙個簡單的比較函式:

function compare(value1, value2) else if (value1 > value2) else

}```

這個比較函式可以使用於大多數資料型別,只要將其作為引數傳遞給sort()方法即可,如下面這個例子所示:

var values = [0, 1, 2, 5, 10, 15];

values.sort(compare);

alert(values); //0,1,5,10,15

在將比較函式傳遞到sort()方法之後,數值仍然保持了正確的公升序。當然,也可以通過比較函式產生降序排序的結果,只要交換比較函式返回的值即可:

function compare(value1, value2)  else if (value1 > value2)  else 

}```

var values = [0, 1, 2, 5, 10, 15];

values.sort(compare);

alert(values); //15,10,5,1,0

reverse()和sort()方法會返回值是經過排序之後的陣列。

對於數值型別或者其valueof方法會返回數值型別的物件型別,可以使用乙個更簡單的比較函式。這個函式只要用第二個值減第乙個值即可:

```function compare(value1, value2) ```

由於比較函式通過返回乙個小於零、等於零或大於零的值來影響排序結果,因此減法操作就可以適當處理所有情況。

操作方法

concat()方法

slice()方法

splice()方法

concat() 方法用於連線兩個或多個陣列。

該方法不會改變現有的陣列,而僅僅會返回被連線陣列的乙個副本。

輸出的結果:1,2,3,4,5

```

slice(start,end)方法

start 必需。規定從何處開始選取。如果是負數,那麼它規定從陣列尾部開始算起的位置。也就是說,-1 指最後乙個元素,-2 指倒數第二個元素,以此類推

end 可選。規定從何處結束選取。該引數是陣列片斷結束處的陣列下標。如果沒有指定該引數,那麼切分的陣列包含從 start 到陣列結束的所有元素。如果這個引數是負數,那麼它規定的是從陣列尾部開始算起的元素。

返回值:返回乙個新的陣列,包含從 start 到 end (不包括該元素)的 arrayobject 中的元素。

splice() 方法用於插入、刪除或替換陣列的元素

語法:arrayobject.splice(index,howmany,element1,.....,elementx)

index 必需。規定從何處新增/刪除元素。

該引數是開始插入和(或)刪除的陣列元素的下標,必須是數字。

howmany 必需。規定應該刪除多少元素。必須是數字,但可以是 "0"。

如果未規定此引數,則刪除從 index 開始到原陣列結尾的所有元素。

element1 可選。規定要新增到陣列的新元素。從 index 所指的下標處開始插入。

elementx 可選。可向陣列新增若干元素。

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

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

下面簡要概括一下slice()與splice()方法

slice(start, end); slice()方法返回從引數指定位置開始到當前陣列末尾的所有項。如果有兩個引數,該方法返回起死和結束位置之間的項,但不包括結束位置的項。

var colors = ["red", "green", "blue", "yellow",    "purple"];

var colors2 = colors.slice(1);

var colors3 = colors.slice(1,4);

console.log(colors2); // green, blue, yellow, purple

console.log(colors3); // green, blue, yellow

```splice()有刪除,插入,替換的功能

刪除需要兩個引數,要刪除的第一項的位置和要刪除的項數。

var colors = ["red", "green", "blue"];

var removed = colors.splice(0,1);

console.log(colors); // greeen, blue

console.log(removed); // red

插入

需要三個引數:起始位置、0(要刪除的項數)和要插入的項

var colors = ["red", "green", "blue"];

var removed = colors.splice(1,0,"yellow", "orange");

console.log(colors); // ["red", "yellow", "orange", "green", "blue"]

console.log(removed); // 返回空

```

替換

需要三個引數:起始位置、要刪除的項數和要插入的任意數量的項。

var colors = ["red", "green", "blue"];

var removed = colors.splice(1,1,"yellow", "orange");

console.log(colors); // ["red", "yellow", "orange", "blue"]

console.log(removed); // ["green"]

常見陣列方法的總結

經過整理,我們發現array原型中可以改變陣列自身內容的方法有 7 個,分別是push pop shift unshift splice sort和reverse push unshift pop shift push返回值是push後的陣列長度 var arr 0,1,2 console.log ...

常見陣列去重方法

js陣列去重的幾種常見方法 一 簡單的去重方法 最簡單陣列去重法 新建一新陣列,遍歷傳入陣列,值不在新陣列就push進該新陣列中 ie8以下不支援陣列的indexof方法 function uniq array return temp var aa 1,2,2,4,9,6,7,5,2,3,5,6,5...

JS常見陣列操作

1 indexof判斷乙個陣列中某乙個元素是否存在,如果不存在返回 1 let i it arr.indexof 4 1 2 push向陣列中新增元素 arr.push 100 3 splice從陣列中刪除一些元素,插入一些元素 引數1 刪除的開始的索引的位置 引數2 刪除的數量 開始索引是刪除的起...