for( var i = 0; i < arr.length; i++ )
{
  for( var j = arr.length - 1; j > i; j-- )
  {
    if( arr[j] == arr[i] )
    {
      arr.splice(j,1);
    }
  }
}

解决方案 »

  1.   

    同意楼上!
    for( var i = 0; i < arr.length; i++ )
      for( var j = i + 1 ; j < arr.length; j++ )
          if( arr[j] == arr[i] )  arr.splice(j,1);
      

  2.   

    Amwpfiqvy(给我分吧,让我升仙):哪个有问题????正确的写法是什么????
      

  3.   

    嘻嘻, 看我的无敌函数...<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript">
    //<![CDATA[
    var str='1:2,1:3,1:4,1:5,2:3,2:4,3:5,1:2,1:4,2:3,1:2,1:3,1:2,1:3,1:4';
    var str=str.split(',');

    var str1=['中国','国度','中国','广东','北京','中国','广东','北京','中国','广东','北京','中国','广东','北京','中国','广东','北京','中国','广东','北京','中国','广东','北京','中国','中国','中国','中国','国度','国度','北京','广东','国度','广东']

    //var str2=[中国,国度,广东,北京]
    var str2=['北京', '国度', '中国', '广东']

    var ar=[65,172,47,117,5,75,6,151,180,153,188,197,125,197,66,90,150,19,101,198,141,176,47,146,51,172,47,117,5,75,6,151,180,153,188,197,125,197,66,90,150,19,101,198,141,176,47,146,51];

    document.write(fDelRddcAr(str),'<br/>');
    document.write(fDelRddcAr(str,1),'<br/>');
    document.write(fDelRddcAr(str,2),'<p/>');

    document.write(fDelRddcAr(str1),'<br/>');
    document.write(fDelRddcAr(str1,1),'<br/>');
    document.write(fDelRddcAr(str1,2),'<p/>');

    document.write(fDelRddcAr(str2),'<br/>');
    document.write(fDelRddcAr(str2,1),'<br/>');
    document.write(fDelRddcAr(str2,2),'<p/>');

    document.write(fDelRddcAr(ar),'<br/>');
    document.write(fDelRddcAr(ar,3),'<br/>');
    document.write(fDelRddcAr(ar,4),'<p/>');

    /*----------------------------------------*\
     * javascript 删除数组冗余数据 函数 By shawl.qiu
     * 参数说明:
     * array: 数组对象, 要排序的数组.
     * pram 数值型, 是否返回排序好的数组, 参数设置如下:
     * 1. 字串正序排序 2: 字串反向排序; 3: 数字正向排序; 4: 数字反向排序; 其他: 正则排序
    \*----------------------------------------*/
    //--------------------begin function fDelRddcAr (array, pram)--------------//
    function fDelRddcAr(array, pram){
    var temp = '';
    var ='$$$###';
    array=array.join();
    var re=new RegExp('.*?'+.replace(/(.)/g,'\\$1')+'|.*?$','g'); 
    var re_=new RegExp(.replace(/(.)/g,'\\$1')+'$');

    array.replace(re,function(){
    if(temp.indexOf(arguments[0]) == -1) temp += arguments[0]; } );
    array=temp.replace(re_,'').split();

    if(!pram)return array;
    return fArOdr(array, pram);
    function fArOdr(array, pram){
    if(!pram)var pram=1;
    switch(pram){
    case 2: return array.reverse();
    case 3: return array.sort(function(a,b){return a-b;});
    case 4: return array.sort(function(a,b){return b-a;});
    default: return array.sort();
    }
    }
    } // shawl.qiu code
    //--------------------end function fDelRddcAr (array, pram)----------------//
    //]]>
    </script>