function delRepeat(arr){
var len = arr.length;
for(var i=len-1;i>=1;i--)
{
if(arr[i-1] == arr[i])
{
arr.splice(i,1);//splice()方法的應(yīng)用
}
}
//return arr;
}
Array.prototype.delRepeat=function()
{
var tmpArr=[],rs=[],i,val;
for(i=this.length;i>0;i--)
{
val = this[i-1];
if(!tmpArr[val])
{
tmpArr[val]=1;
}else
{
rs.push(val);
this.splice(i-1,1);
}
}
tmpArr = null;
return rs;
}
兩個(gè)優(yōu)點(diǎn):
1、預(yù)先將this[i-1]保存在變量val中,減少訪問次數(shù)。
2、使用array.push方法,替換用變量保存數(shù)組長(zhǎng)度的辦法。
JavaScript splice() 方法
返回 JavaScript Array 對(duì)象參考手冊(cè)
定義和用法
splice() 方法用于插入、刪除或替換數(shù)組的元素。

語法
arrayObject.splice(index,howmany,element1,
..,elementX)參數(shù) 描述
index 必需。規(guī)定從何處添加/刪除元素。

該參數(shù)是開始插入和(或)刪除的數(shù)組元素的下標(biāo),必須是數(shù)字。
howmany 必需。規(guī)定應(yīng)該刪除多少元素。必須是數(shù)字,但可以是 "0"。

如果未規(guī)定此參數(shù),則刪除從 index 開始到原數(shù)組結(jié)尾的所有元素。
element1 可選。規(guī)定要添加到數(shù)組的新元素。從 index 所指的下標(biāo)處開始插入。
elementX 可選。可向數(shù)組添加若干元素。

返回值
如果從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的數(shù)組。

說明
splice() 方法可刪除從 index 處開始的零個(gè)或多個(gè)元素,并且用參數(shù)列表中聲明的一個(gè)或多個(gè)值來替換那些被刪除的元素。
提示和注釋
注釋:請(qǐng)注意,splice() 方法與 slice() 方法的作用是不同的,splice() 方法會(huì)直接對(duì)數(shù)組進(jìn)行修改。
實(shí)例
例子 1
在本例中,我們將創(chuàng)建一個(gè)新數(shù)組,并向其添加一個(gè)元素:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,0,"William")
document.write(arr + "<br />")

</script>輸出:

George,John,Thomas,James,Adrew,Martin
George,John,William,Thomas,James,Adrew,Martin例子 2
在本例中我們將刪除位于 index 2 的元素,并添加一個(gè)新元素來替代被刪除的元素:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,1,"William")
document.write(arr)

</script>輸出:

George,John,Thomas,James,Adrew,MartinGeorge,John,William,James,Adrew,Martin例子 3
在本例中我們將刪除從 index 2 ("Thomas") 開始的三個(gè)元素,并添加一個(gè)新元素 ("William") 來替代被刪除的元素:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,3,"William")
document.write(arr)

</script>輸出:

George,John,Thomas,James,Adrew,MartinGeorge,John,William,MartinTIY
splice()
如何使用 splice() 來更改數(shù)組。