数组去重几种方法

第一种

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)



猜你喜欢

转载自blog.csdn.net/zx_p24/article/details/78459987