Array.prototype.unique1 = function()
{
var n = []; //一个新的临时数组
for(var i = 0; i < this.length; i++) //遍历当前数组
{
if (n.indexOf(this[i]) == -1) // n数组中有没有出现过this[i]这个元素
n.push(this[i]); // 否则把当前项push到临时数组里面
}
return n;
}
Array.prototype.unique2 = function()
{
var n = {},r=[]; //n为hash表,r为临时数组
for(var i = 0; i < this.length; i++) //遍历当前数组
{
if (!n[this[i]]) //如果hash表中没有当前项
{
n[this[i]] = true; //存入hash表
r.push(this[i]); //把当前数组的当前项push到临时数组里面
}
}
return r;
}
使用方法:
var a = [1,2,3,2,3,2];
a.unique(); // [1,2,3]