javascript splice()方法可以用于刪除指定數(shù)量的元素、替換指定元素以及在指定位置添加元素,使用語法“array.splice(index,count,item1,…..,itemX)”。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
javascript splice方法
在javascript中,splice() 方法用于添加或刪除數(shù)組中的元素。
語法:
array.splice(index,count,item1,.....,itemX)
參數(shù) | 描述 |
---|---|
index | 必需。規(guī)定從何處添加/刪除元素。 該參數(shù)是開始插入和(或)刪除的數(shù)組元素的下標(biāo),必須是數(shù)字。 |
coun | 可選。規(guī)定應(yīng)該刪除多少元素。必須是數(shù)字,但可以是 "0"。 如果未規(guī)定此參數(shù),則刪除從 index 開始到原數(shù)組結(jié)尾的所有元素。 |
item1, …, itemX | 可選。要添加到數(shù)組的新元素 |
splice() 方法功能比較強(qiáng),它可以實(shí)現(xiàn)刪除指定數(shù)量的元素、替換指定元素以及在指定位置添加元素。這些不同功能的實(shí)現(xiàn)需要結(jié)合方法參數(shù)來確定:
-
當(dāng)參數(shù)只有 index 和 count 兩個參數(shù)時,如果 count 不等于 0,splice() 方法實(shí)現(xiàn)刪除功能,同時返回所刪除的元素:從 index參數(shù)指定位置開始刪除 count 參數(shù)指定個數(shù)的元素;
-
當(dāng)參數(shù)為 3 個以上,且 count 參數(shù)不為0時,splice() 方法實(shí)現(xiàn)替換功能,同時返回所替換的元素:用第三個及其之后的參數(shù)替換 index 參數(shù)指定位置開始的 count 參數(shù)指定個數(shù)的元素;
-
當(dāng)參數(shù)為 3 個以上,且 count 參數(shù)為 0 時,splice() 方法的實(shí)現(xiàn)添加功能:用第三個及其之后的參數(shù)添加到 index 參數(shù)指定位置上。
返回值:數(shù)組類型;如果從 array 中刪除了元素,則返回的是含有被刪除的元素的數(shù)組。
splice() 方法實(shí)現(xiàn)的各個功能示例如下:
① 使用 splice() 從指定位置刪除指定個數(shù)的元素:
var arr = ['A','B','C','D']; //2個參數(shù),第二個參數(shù)不為 0,實(shí)現(xiàn)刪除功能 alert(arr.splice(0,2)); alert(arr); //返回C,D
② 使用 splice() 用指定元素替換從指定位置開始的指定個數(shù)的元素:
var arr = ['A','B','C','D']; //3個參數(shù),第二個參數(shù)不為 0,實(shí)現(xiàn)替換功能:用 a 替換掉 A,返回:A alert(arr.splice(0,1,'a')); alert(arr); //返回:a,B,C,D alert(arr.splice(0,2,'a or b'));//用a or b替換掉a和B,返回a,B alert(arr); //返回:a or b,C,D
③ 使用 splice() 在指定位置添加指定的元素:
var arr = ['A','B','C','D']; //4個參數(shù),第二個參數(shù)為 0,實(shí)現(xiàn)添加功能:在下標(biāo)為 1 處添加 aaa,bbb,沒有返回值 alert(arr.splice(1,0,'aaa','bbb')); alert(arr);//返回:A,aaa,bbb,B,C,D
示例:使用 splice() 方法實(shí)現(xiàn)數(shù)組去重。
<!doctype html> <html> <head> <meta charset="utf-8"> <title>使用splice方法實(shí)現(xiàn)數(shù)組去重</title> <script> var arr = [1,2,2,2,4,2]; for(var i = 0; i < arr.length; i++){ for(var j = i + 1; j < arr.length; j++){ if(arr[i] == arr[j]){ arr.splice(j,1);//刪除 j 位置處的元素 j--; } } } alert(arr);//返回1,2,4三個元素 </script> </head> <body> </body> </html>
上述代碼使用了具有兩個參數(shù)的 splice(),實(shí)現(xiàn)了刪除指定元素的功能。
【