方法一
~function(){function unique(){let obj={},_this=this;for(let i=0;i<_this.length;i++){let iten=_this[i];// in hasOwnProperty typeof....if(obj.hasOwnProperty(item)){_this[i]=_this[_this.length-1];_this.length--;i--;continue;}obj[item]=item;}obj=null;return _this;}Array.prototype.myUnique=unique;}();let ary=[12,23,12,1,3,13,12,34,45,12,23];ary.myUnique().sort((a,b)=>a-b);
第二种
~function(){function unique(){let _this=this;//=>首先基于new Set实现数组去重(结果是Set的实例)_this=new Set(_this);//=>再基于Array.from把类数组等变为数组_this=Array.from(_this);return _this;}Array.prototype.myUnique=unique;}();let ary = [12,23,12,13,13,12,23,14,8];ary.myUnique().sort((a,b)=>a-b);
第三种
~function(){function unique(){let _this=this;for(let i=0;i<_this.length-1;i++){let item=_this[i],next=_this.slice(i+1);if(next.includes(item)){_this.splice(i,1);i--;}}return _this;}Array.prototype.myUnique=unique;}();let ary = [12,23,12,13,13,12,23,14,8];ary.myUnique().sort((a,b)=>a-b);
