100分求个JS 删除数组中等于0的数,变成一个新数组!
Array.prototype.del=function()
{  var arr=[];
  
   for(var i=0;i<this.length;i++){
     if(this[i]==0)
   {
    return this.slice(0,i).concat(this.slice(i+1,this.length));//这里怎么写就对了?或者帮忙从新写个··
   }
   
}}
var arr=[85,0,85,8,8,1,2,0,4,0,8];
alert(arr.del());//结果是85,85,8,8,1,2,0,4,0,8 后边的零没删除怎么回事?

解决方案 »

  1.   

    <table border=1>
    <tr><th>head1</th><th>head2</th><th>head3</th></tr>
    <tr><td>1</td><td>1</td><td>1</td></tr>
    <tr><td>2</td><td>2</td><td>2</td></tr>
    <tr><td>3</td><td>3</td><td>3</td></tr>
    <tr><td>4</td><td>4</td><td>4</td></tr>
    </table>
    <button id="up">↑</button><button id="down">↓</button>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <SCRIPT LANGUAGE="JavaScript">
    Array.prototype.del=function()
    {  var arr=[];
      
       for(var i=0;i<this.length;i++){
         if(this[i]!=0)
         arr.push(this[i]);//ル女「怎HN写就了?或者.^忙从新写个・・
       }
       return arr;
    }
    var arr=[85,0,85,8,8,1,2,0,4,0,8];
    alert(arr.del());//モ~果是85,85,8,8,1,2,0,4,0,8 后ケ藷I零没 R除怎HN回事?</script>
      

  2.   

    or:
    <SCRIPT LANGUAGE="JavaScript">
    Array.prototype.del=function()
    {  var arr=[];
      
       for(var i=0;i<this.length;i++){
         if(this[i]==0)
       {
         this.splice(i,1);//change here
       }
       
    }
    return this;//return this
    }
    var arr=[85,0,85,8,8,1,2,0,4,0,8];
    alert(arr.del());//モ~果是85,85,8,8,1,2,0,4,0,8 后ケ藷I零没 R除怎HN回事?</script>
      

  3.   


    <SCRIPT language=javascript>
    <!--
    function init(){
    var arr=[85,0,85,8,8,1,2,0,4,0,8];
    var tmp=arr.join(',').replace(/,?0,?/g,",");
    arr=tmp.split(",");
    alert(arr)
    }
    //-->
    </SCRIPT>
    <body onload="init();">
    </body>
      

  4.   

    把上面的代码保存为 test.htm 运行看看