zoukankan      html  css  js  c++  java
  • Javascript-string-Array

    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 }
  • 相关阅读:
    排列算法问题
    g00 网站说明
    leetcode 401. Binary Watch
    滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(1月7日)
    北京Uber优步司机奖励政策(1月6日)
    滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(1月6日)
    北京Uber优步司机奖励政策(1月5日)
    滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(1月5日)
    全国Uber优步司机奖励政策 (12月28日-1月3日)
    全国Uber优步司机奖励政策 (1月4日-1月10日)
  • 原文地址:https://www.cnblogs.com/studyshufei/p/8444162.html
Copyright © 2011-2022 走看看