Array.prototype.unique1 = function()
{
var n = []; //一個(gè)新的臨時(shí)數(shù)組
for(var i = 0; i < this.length; i++) //遍歷當(dāng)前數(shù)組
{
if (n.indexOf(this[i]) == -1) // n數(shù)組中有沒有出現(xiàn)過(guò)this[i]這個(gè)元素
n.push(this[i]); // 否則把當(dāng)前項(xiàng)push到臨時(shí)數(shù)組里面
}
return n;
}
Array.prototype.unique2 = function()
{
var n = {},r=[]; //n為hash表求橄,r為臨時(shí)數(shù)組
for(var i = 0; i < this.length; i++) //遍歷當(dāng)前數(shù)組
{
if (!n[this[i]]) //如果hash表中沒有當(dāng)前項(xiàng)
{
n[this[i]] = true; //存入hash表
r.push(this[i]); //把當(dāng)前數(shù)組的當(dāng)前項(xiàng)push到臨時(shí)數(shù)組里面
}
}
return r;
}
使用方法:
var a = [1,2,3,2,3,2];
a.unique(); // [1,2,3]