js实现数组去重总结

数组去重

方式一:

			//数组去重
			var arr=[1,2,20,25,25,66,25,66];
			for(var i=0;i<arr.length;i++){
				for(var j=i+1;j<arr.length;j++){
					if(arr[i]==arr[j]){
						arr.splice(j,1);
						j--
					}
				}
			}
			console.log(arr);

方式二

			//取出两个数组中相同的数据
			var arr1=[1,2,3,4,50,66];
			var arr2=[1,2,66,20,77];
			var arr3=[];
			for(var i=0;i<arr1.length;i++){
				for(var j=0;j<arr2.length;j++){
					if(arr1[i]==arr2[j]){
						arr3.push(arr1[i]);
					}
				}
			}
			console.log(arr3);

方式三

			function newArr(array){
				return Array.from(new Set(array));
			}
			var array=[1,2,3,2,5,2];
			console.log(newArr(array));

方式四

			//一维数组去重
			var arr=[1,1,2,5,2];
			var arr1=[];
			for(var i=0;i<arr.length;i++){
				if(arr1.indexOf(arr[i])==-1){
					arr1.push(arr[i]);
				}
			}
			console.log(arr1);

			//二维数组去重
			function fn(e,arr){
				for(var i=0;i<arr.length;i++){
					//判断该值是否为undefined,因为undefined.toString()回报错
					if(arr[i]){
						if(arr[i].toString()==e.toString()){
							return i;
							//一旦找到这个元素跳出循环,否则会把所有的位置都遍历到
							break;
						}
					}
				}
				return -1;
			}
			var arr=[[1,2],[1,2],[2,3],[1,2],[1,3],[2,3]];
			var arr1=[];
			for(var j=0;j<arr.length;j++){
				if(fn(arr[i],arr1)==-1){
					arr1.push(arr[i]);
				}
			}
			console.log(arr1);
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页