87,910
社区成员
发帖
与我相关
我的任务
分享
var arr=new Array(1,2,1,5,3,1,5,4,2);
Array.prototype.removalDuplicate = function(){
var obj = {};
for (var i = 0; i < this.length; i++) {
var v = this[i];
if (obj[v])
this.splice(i--,1);
else
obj[v] = true;
}
};
arr.removalDuplicate();
alert(arr);
var xx=new Array(1,3,4,2,1,3,1);
Array.prototype.xx=function(){
console.log(this);
var arr =this;
var noarray=new Array();
this.forEach(function(v,i,array){
if (noarray.indexOf(array[i])==-1){
noarray.push(array[i]);
}
});
return noarray;
};
console.log(xx.xx());
这样获取去重后的数组,就是调用这个函数就可以。不会改变原数组。
如果有需求可以这样写
arr=arr.xx();