数组去重

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();

 

以上是关于数组去重的主要内容,如果未能解决你的问题,请参考以下文章

C/C++系列数组去重代码实现

C/C++系列数组去重代码实现

C/C++系列数组去重代码实现

用最简短的代码搞定数组去重

php 多个 一维数组 去重 组成新数组

ES6 - 一条代码实现数组去重