Js数组去重

1、for循环

//方法一
function reFun (arr){
	for(let i = 0; i < arr.length; i++){
		for(let j = i + 1; j < arr.length; j++){
			if(arr[i] === arr[j]){  //判断2个值是否相等
				arr.splice(j, 1); // 移除后面的重复元素
				j--; 
			}
		}
	}
	return arr;
};

var arr=[1, 1, 2, 3, 3, 3, 4, 4]
reFun(arr) 
//结果:  [1,2,3,4]

//方法二
function reFun (arr){
	var newArr = [];
	for(let i = 0; i < arr.length; i++){
		for(var j = 0; j < newArr.length; j++){ 
			if(arr[i] === newArr[j]) break; // 判断新数组当中有没有相同的值
		}
		if(j === newArr.length){ // 如果j和newArr长度相等,没有被中断
				newArr.push(arr[i]);
		}
	}
	return newArr;
}
var arr=[1, 1, 2, 3, 3, 3, 4, 4]
reFun(arr)    
//结果:  [1,2,3,4]

//方法三
function reFun(arr){
   arr.sort();//先排序让大概相同的在一个位置
   for(var i = 0; i < arr.length-1;i++){
         if(arr[i]==arr[i+1]){//还是两两比较 一样删除后面的
                arr.splice(i,1);
                i--;
         }
    }
	return arr;
}

var arr=[1, 1, 2, 3, 3, 3, 4, 4]
reFun(arr)    
//结果: [1,2,3,4]

你可能感兴趣的:(前端,JavaScript,数组,javascript,开发语言,ecmascript,前端)