JavaScript 数组去重

var arr = [1,1,1,2,2,2,3,3,3];
	function norepeat(arr){                //第一种去重方法
		for(var i = 0; i < arr.length - 1; i++){
			for(var j = i+1;j < arr.length; j++){
					//[1,1,2,1,2,1,1]
					//第一次 j == 1  第二次 j==2
				if(arr[i]==arr[j]){
					arr.splice(j,1);//删除之后arr会发生改变
					j--;
				}
			}
		}
				
				return arr;
	}




function norepeat(arr){                    //第二种
				arr.sort();
				for(var i = 0; i < arr.length - 1; i++){
					if(arr[i]==arr[i+1]){
						arr.splice(i+1,1);
						i--;
					}
				}
				return arr;
			}





//推荐方法  
			
function norepeat(arr){
		var obj = {};
		var newArr = [];
		for(var i = 0; i < arr.length; i++){
			if(obj[arr[i]]==undefined){//如果一个对象的属性为undefined,证明这个属性是第一次出现
				newArr.push(arr[i]);
				obj[arr[i]] = 1;//下次有重复值出现时,就不在是undefined,而是1
			}
		}
				
				return newArr;
				
}
原文地址:https://www.cnblogs.com/a-peppa-pig/p/9460163.html