判斷數組中是否存在重復元素


以下的方法包含了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]);  
}  
  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM