数组去重几种方法

来源:互联网 发布:java实战项目书籍 编辑:程序博客网 时间:2024/06/06 07:24

第一种

Array.prototype.remove1=function(){for(var i=0;i<this.length;i++){for(var j=i+1;j<this.length;j++){if(this[i]==this[j]){this.splice(j,1);j--;}}}return this;}var arr = [1,2,3,4,4,5,6,6,12,3,4,5,4,212,5,6];var newArr = arr.remove1();var arr2 = [100,18,2,3,8,4,0,9,20];var newArr2 = arr2.remove1();//大到小newArr.sort(function(a,b){return b-a;})//小到大newArr2.sort(function(a,b){return a-b;})console.log(newArr);console.log(newArr2);

第二种

Array.prototype.remove2 = function(){var newArr = [];for(var i=0;i<this.length;i++){if(newArr.indexOf(this[i])==-1){newArr.push(this[i]);}}return newArr;}var arr = [1,2,3,4,4,5,6,6,12,3,4,5,4,212,5,6];var newArr3 = arr.remove2();console.info(newArr3);


第三种

Array.prototype.remove3 = function(){var newArr = [];var obj={};for(var i=0;i<this.length;i++){if(!obj[this[i]]){obj[this[i]]=true;newArr.push(this[i]);}}return newArr;}var arr = [1,2,3,4,4,5,6,6,12,3,4,5,4,212,5,6];var newArr4 = arr.remove3();console.info(newArr4);

第四种

Array.prototype.remove4 = function(){var newArr = [];for(var i=0;i<this.length;i++){for(var j=i+1;j<this.length;j++){if(this[i]==this[j]){j=++i;}}newArr.push(this[i]);}return newArr;}var arr = [1,2,3,4,4,5,6,6,12,3,4,5,4,212,5,6];var newArr5 = arr.remove4();console.info(newArr5)