標籤:for lag break 匹配 tar 就是 ++ reset class
1.得到數組裡重複的值
1 function getRepeat(ar){ 2 //數組排序 3 var ary = ar.sort(); 4 //建立裝重複值的新數組 5 var newArr = new Array(); 6 //所有重複元素添加進新數組內 7 for(var i=0;i<ary.length;i++){ 8 //前一項和後一項相比較 如果相等 就放進新數組newArr內 9 if (ary[i]==ary[i+1]){10 newArr.push(ary[i]);11 }12 }13 //建立一個空數組result用來存放最終結果,同時聲明了一個isRepeated來標記重複狀態14 var result = [], isRepeated;15 //對重複元素數組進行元素去重16 for (var k = 0; k < newArr.length; k++) {17 //進入迴圈開始 標記 isRepeated 初始值都是false18 isRepeated = false;19 for (var j = 0;j < result.length; j++) {20 //如果新數組newArr內值和最終存放結果的數組內的值相等 則改變標記flag的狀態為true 並跳出迴圈 繼續下一次的迴圈21 if (newArr[k] == result[j]) {22 isRepeated = true; break;23 }24 }25 //如果isRepeated狀態明天被改變依然是false !false就是true 則把這個新數組newArr內這個值newArr[k] 放進result數字內26 if (!isRepeated) {27 result.push(newArr[k]);28 }29 }30 return result;31 }
2.數組去重方法
1 function unique(arr){ 2 // 遍曆arr,把元素分別放入tmp數組(不存在才放) 3 var reset = new Array(); 4 for(var i in arr){ 5 //該元素在tmp內部不存在才允許追加 6 if(reset.indexOf(arr[i])==-1){ 7 reset.push(arr[i]); 8 } 9 }10 return reset;11 }
3.匹配兩個數組,取出只有其中一個數組才有的值,以數組形式返回
1 function getArrData(a,b){ 2 var c=[]; 3 var arr00=[]; 4 for(var i in a){ 5 c[a[i]]=a[i]; 6 } 7 for(var i in b){ 8 if(c[b[i]]){ 9 delete c[b[i]];10 }else{11 c[b[i]]=b[i];12 }13 }14 for(var i in c){15 arr00.push(c[i])16 //arr00.push(c[i].split(‘,‘))17 }18 return arr00;19 }
Javascript-string-Array