问个关于JS的问题
有一组数字(其中包括重复的)  使用函数    去掉重复的,只留下2个中的一个  不用考虑返回值   该什么解
   类似:12,22,24,25,28,33,35,11,12,33,27,31,35求解  - - 

解决方案 »

  1.   

    function compare(value1, value2) {
    if (value1 < value2) {
    return 1;
    } else if (value1 > value2) {
    return -1;
    } else {
    return 0;
    }
    }
    var arr = [12,22,24,25,28,33,35,11,12,33,27,31,35];
    arr.sort(compare(value1, value2));
    for(var i=0; i<arr.length; i++) {
        if(arr[i] == arr[i+1]) {
            arr.splice(i+1,1)    }
    }alert(arr);
      

  2.   

    错了,应该是
    function compare(value1, value2) {
    if (value1 < value2) {
    return 1;
    } else if (value1 > value2) {
    return -1;
    } else {
    return 0;
    }
    }
    var arr = [12,22,24,25,28,33,35,11,12,33,27,31,35];
    arr.sort(compare);
    for(var i=0; i<arr.length; i++) {
      if(arr[i] == arr[i+1]) {
      arr.splice(i+1,1)  }
    }alert(arr)
      

  3.   

    var s='12,22,24,25,28,33,35,11,12,33,27,31,35';
    var arr=s.split(',');
    var t={}, new_arr=new Array();
    for(var i=0;i<arr.length;i++){
         if(typeof t[arr[i]]=='undefined'){
            new_arr.push(arr[i]);
    t[arr[i]]=true;
     }
    }
    alert(new_arr.join(','));
      

  4.   

    这样也行var a = [12,22,24,25,28,33,35,11,12,33,27,31,35];
    for(var i=0; i < a.length; i++) {
      for(var j=i+1; j < a.length; j++) {
      if(a[i] == a[j]) {
      a.splice(a[j],1);  }
      }
    }for(var k=0; k < a.length; k++) {
    alert(a[k]);  
    }
      

  5.   

    写错了,应该是这样var a = [12,22,24,25,28,33,35,11,12,33,27,31,35];
    for(var i=0; i < a.length; i++) {
      for(var j=i+1; j < a.length; j++) {
      if(a[i] == a[j]) {
      a.splice(j,1);  }
      }
    }for(var k=0; k < a.length; k++) {
    alert(a[k]);   
    }
      

  6.   

    Array.prototype.removeRepeat=function(){
        var tmp={},a=this.slice(); 
        for(var i=j=0;i<a.length;i++){
            if(!tmp[a[i]]){
                tmp[a[i]]=!0;
                j++;
            }else{
                this.splice(j,1);
            }
        }
    }
    var arr=[12,22,35,24,33,25,33,28,33,35,11,12,33,27,31,35]
    arr.removeRepeat();
    alert(arr)