导航

Javascript-string-Array

Posted on 2018-02-12 11:39  小飞博客  阅读(171)  评论(0编辑  收藏  举报

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 初始值都是false
18     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 }
 1 function getRepeat(ar){
 2     var arr=[];
 3     var arr1=[];
 4     var arr2=[];
 5     for(var i=0;i<ar.length;i++){
 6         if(arr.indexOf(ar[i])==-1){
 7             arr.push(ar[i])
 8         }else{
 9             arr1.push(ar[i])
10         }
11     }
12     if(arr1.length===1||arr1.length===0){
13         return arr1;
14     }else{
15         for(var i=0;i<arr1.length;i++){
16             if(arr2.indexOf(arr1[i])==-1){
17                 arr2.push(arr1[i])
18             }
19         }
20         return arr2;
21     }
22 }

 

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 }