数组去重
Posted WEIXUECHAO
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组去重相关的知识,希望对你有一定的参考价值。
1 var arr=[1,1,1,1,2,4,2,3,1,6,7,3,4] 2 //1遍历数组值不在新数组就添加进去 3 function way1(){ 4 var list=[]; 5 var len=arr.length; 6 for(var i=0;i<len;i++){ 7 if(list.indexOf(arr[i]) == -1){ 8 list.push(arr[i]); 9 } 10 } 11 console.log(list); 12 } 13 //way1(); 14 //2 15 function way2(){ 16 var list=[]; 17 var obj={}; 18 var len=arr.length; 19 for(var i=0;i<len;i++){ 20 if(!obj[arr[i]]){ 21 obj[arr[i]]=1; 22 list.push(arr[i]); 23 } 24 } 25 console.log(list); 26 } 27 //way2(); 28 //3 29 function way3(){ 30 var list=[]; 31 var len=arr.length; 32 for(var i=0;i<len;i++){ 33 if(arr.indexOf(arr[i]) == i){ 34 list.push(arr[i]); 35 } 36 } 37 console.log(list) 38 } 39 //way3(); 40 function way4(){ 41 arr.sort(); 42 var list=[arr[0]]; 43 var len=arr.length; 44 for(var i=1;i<len;i++){ 45 if(arr[i] !== list[list.length-1]){ 46 list.push(arr[i]); 47 } 48 } 49 console.log(list); 50 } 51 //way4(); 52 function way5(){ 53 var len=arr.length; 54 for(var i=0;i<len;i++){ 55 for(var n=i+1;n<len;){ 56 if(arr[i]==arr[n]){ 57 arr.splice(n,1); 58 }else{ 59 n++ 60 } 61 } 62 } 63 console.log(arr); 64 } 65 //way5(); 66 67 68 function initArray(data){ 69 for(var i=0;i<10;i++){ 70 data[i]=Math.ceil(Math.random()*100); 71 } 72 //return data; 73 } 74 function sortArray(data){ 75 var _tep=0; 76 for(var i=0;i<data.length;i++){ 77 for(var n=i+1;n<data.length;n++){ 78 if(data[i]>data[n]){ 79 _tep=data[i]; 80 data[i]=data[n]; 81 data[n]=_tep; 82 } 83 } 84 } 85 console.log(data); 86 } 87 function sortBubble(data){ 88 var _tep=0; 89 for(var i=0;i<data.length;i++){ 90 for(var n=0;n<data.length-i-1;n++){ 91 if(data[n]>data[n+1]){ 92 _tmp=data[n]; 93 data[n]=data[n+1]; 94 data[n+1]=_tmp; 95 } 96 } 97 } 98 console.log(data); 99 } 100 function main(){ 101 var arr=[]; 102 initArray(arr); 103 //sortArray(arr); 104 sortBubble(arr); 105 } 106 main();
var arr=[1,1,1,1,2,4,2,3,1,6,7,3,4] //1遍历数组值不在新数组就添加进去 function way1(){ var list=[]; var len=arr.length; for(var i=0;i<len;i++){ if(list.indexOf(arr[i]) == -1){ list.push(arr[i]); } } console.log(list); } //way1(); //2 function way2(){ var list=[]; var obj={}; var len=arr.length; for(var i=0;i<len;i++){ if(!obj[arr[i]]){ obj[arr[i]]=1; list.push(arr[i]); } } console.log(list); } //way2(); //3 function way3(){ var list=[]; var len=arr.length; for(var i=0;i<len;i++){ if(arr.indexOf(arr[i]) == i){ list.push(arr[i]); } } console.log(list) } //way3(); function way4(){ arr.sort(); var list=[arr[0]]; var len=arr.length; for(var i=1;i<len;i++){ if(arr[i] !== list[list.length-1]){ list.push(arr[i]); } } console.log(list); } //way4(); function way5(){ var len=arr.length; for(var i=0;i<len;i++){ for(var n=i+1;n<len;){ if(arr[i]==arr[n]){ arr.splice(n,1); }else{ n++ } } } console.log(arr); } //way5(); function initArray(data){ for(var i=0;i<10;i++){ data[i]=Math.ceil(Math.random()*100); } //return data; } function sortArray(data){ var _tep=0; for(var i=0;i<data.length;i++){ for(var n=i+1;n<data.length;n++){ if(data[i]>data[n]){ _tep=data[i]; data[i]=data[n]; data[n]=_tep; } } } console.log(data); } function sortBubble(data){ var _tep=0; for(var i=0;i<data.length;i++){ for(var n=0;n<data.length-i-1;n++){ if(data[n]>data[n+1]){ _tmp=data[n]; data[n]=data[n+1]; data[n+1]=_tmp; } } } console.log(data); } function main(){ var arr=[]; initArray(arr); //sortArray(arr); sortBubble(arr); } main();
以上是关于数组去重的主要内容,如果未能解决你的问题,请参考以下文章