下面是按照生成后的情况去掉重复项的程序,感觉这样做不好,最好还是在生成的时候就去掉重复项。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head><body>
<form name="form1" method="post" action="">
  <select name="select">
    <option value="1">1</option>
    <option value="1">1</option>
    <option value="1">1</option>
    <option value="1">1</option>
    <option value="2">3</option>
    <option value="2">2</option>
  </select>
</form>
<script language=javascript>
var a=new Array()
var obj=document.getElementById("select").options
for(var i=obj.length-1;i>=0;i--)
{
a[i]=new Array(2)
a[i][0]=obj[i].text
a[i][1]=obj[i].value
obj[i]=null
}

Array.prototype.unique = function()
{
  var a = {}; for(var i=0; i<this.length; i++)
  {
    if(typeof a[this[i]] == "undefined")
      a[this[i]] = 1;
  }
  this.length = 0;
  for(var i in a)
    this[this.length] = i;
  return this;
}
a.unique();
for(var i=0;i<a.length;i++)
{

obj[i]=new Option(a[i].split(",")[0],a[i].split(",")[1])
}
</script>
</body>
</html>

解决方案 »

  1.   

    去掉array里重复的值
    for(var ii=0;ii<resultary.length;ii++)
    {
    filter:
    for(var jj=ii+1;jj<resultary.length;jj++)
    {
    if(String(resultary[ii])==String(resultary[jj]))
    {
    resultary.splice(jj,1);
    }
    else
    {
    continue filter;
    }
    }
    }
      

  2.   

    <script language="JavaScript">
    <!--
    //去掉数组重复元素
    var arr = [1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,"aa","bb","cc","dd","ee","ff","aa","bb","cc","dd"];
    for(var i=arr.length-1;i>=0;i--){
    var str = arr.join(",")+",";
    var tmp = str.match(new RegExp(arr[i]+"\,","g");
    if (tmp.length>1)
    arr.splice(i,1);
    }
    alert(arr);
    //-->
    </script>