判断数组中是否存在重复元素

以下的方法包含了JS方法和JAVA方法

 

方法1:

                   int[] n = {1,2,3,1,0}; 
                   boolean flag = true;   //假设不重复 
                   for(int i = 0;i < n.length – 1;i++){ //循环开始元素 
                            for(int j = i + 1;j < n.length;j++){ //循环后续所有元素 
                                     //如果相等,则重复 
                                     if(n[i] == n[j]){ 
                                               flag = false; //设置标志变量为重复 
                                               break;      //结束循环 
                                     } 
                            } 
                   } 
                   //判断标志变量 
                   if(flag){ 
                            System.out.println(“不重复”); 
                   }else{ 
                            System.out.println(“重复”); 
                   }         

 

方法2:

可以使用数组的indexOf()方法,如果返回值为-1则说明不存在,如果返回值为大于-1的整数,则说明存在。例如:
var arr = [1,2,3];
arr.indexOf(1);    // 返回0
arr.indexOf(5);    // 返回-1
附:返回值为数组中的最靠前元素在数组的位置

 

var s = ary.join(",")+",";  
  
for(var i=0;i<ary.length;i++) {    
    if(s.replace(ary[i]+",","").indexOf(ary[i]+",")>-1) {  
    alert("数组中有重复元素:" + ary[i]);  
    break;  
  }  
}  

 

 

方法3:

var ary = new Array("111","22","33","111");  
var nary=ary.sort();  
for(var i=0;i<ary.length;i++){  
  if (nary[i]==nary[i+1]){  
  alert("数组重复内容:"+nary[i]);  
}  
  

 

posted @ 2017-09-02 11:16  Mr_伍先生  阅读(9337)  评论(0编辑  收藏  举报