判断数组中是否存在重复元素
以下的方法包含了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]); }