Array.prototype.popRepeat   =   function(){      
        var   arr   =   this,   newArray   =   [],   arrlen   =   arr.length,   i   =   0;      
        while   (i   <   arrlen)   {      
                if   (arr.hasOf(arr[i])   >   1)   {      
                        arr.splice(i,   1);      
                        arrlen--;      
                        if   (newArray.indexOf(arr[i])   <   0)        
                                newArray.push(arr[i]);      
                }      
                else   {      
                        i++;      
                }      
        }      
        return   newArray;      

var   array   =   [6,   4,   4,  ];      
var   newArray=array.popRepeat();      
//alert(array1);      
alert(newArray);先用简单的,你的那个数组太复杂,你的程序不一定对,简单的可以
alert(array1); 这里没array1
可以呀

解决方案 »

  1.   

    谢谢楼上的朋友,把代码放在同一个页面上是可以的.不会出错..但是我把方法放到一个叫arrayPrototype.js的文件里.然后在页面上这样引用:
    <HTML> 
    <HEAD> 
    <SCRIPT   TYPE="TEXT/JAVASCRIPT"   SRC="../scripts/arrayPrototype.js"> </SCRIPT> 
    <SCRIPT   type="TEXT/JAVASCRIPT">       
    function   test()       
    {     
      
      var   array   =   [6,   4,   4, 5];       
    var   newArray=array.popRepeat();       
    alert(array1);       
    alert(newArray);     
    }   
        
    </SCRIPT> 
    <BODY   onLoad="test()"> </BODY> 
    </HTML> 
    就出错.