javascript 去除数组的重复元素
参数:arr--数组类型
返回值:无重复元素的数组
1.先以目标数组的值为key生成一个对象. 这一步是最核心的: 因为在一个对象中, key是无法重复的, 这样就很巧妙的排除了重复值;
2. 遍历生成的对象, 将这些key取出来放到一个数组中, ok, 到此就大功告成了
*/
function uniquearr(arr)
{
arr = arr || [];
var a = {};
for (var i=0; i<arr.length; i++)
{
var v = arr[i];
if (typeof(a[v]) == 'undefined')
{
a[v] = 1;
}
}
arr.length = 0;
for (var i in a )
{
arr[arr.length] = i;
}
return arr;
}//
var arr=["a","b","c","a"];
alert(arr.reverse().join(",").match( /([^,]+)(?!.*1)/ig).reverse());//
array.prototype.deleteele=function(){
var newarr = this;
for (var i=newarr.length-1; i>=0; i--)
{
var targetnode = newarr[i];
for (var j=0; j<i; j++)
{
if(targetnode == newarr[j]){
newarr.splice(i,1);
//alert(arr);
break;
}
}
}
return newarr;
}
var arr = ["a","b","c","c","ab","d","ab","d","c"];
alert(arr.deleteele());
//对于该方法, 不论数组有多少项, 都只会遍历两次, 在性能上的优势较明显,经过测试上面支除数组重复项函数都可用。