JavaScript通过设置数组的length属性来截断数组是惟一一种缩短数组长度的方法.如果使用delete运算符来删除数组中元素,虽然那个元素变成未定义的,但是数组的length属性并不改变两种删除元素,数组长度也改变的方法.
<script> <br> /*<br> * 方法:Array.remove(dx)<br> * 功能:删除数组元素.<br> * 参数:dx删除元素的下标.<br> * 返回:在原数组上修改数组<br> */</p> <p> //经常用的是通过遍历,重构数组.<br> Array.prototype.remove=function(dx)<br> {<br> if(isNaN(dx)||dx>this.length){return false;}<br> for(var i=0,n=0;i<this.length;i++)<br/> {<br/> if(this[i]!=this[dx])<br/> {<br/> this[n++]=this[i]<br/> }<br/> }<br/> this.length-=1<br/> }<br/> a = [1,2,3,4,5];<br/> alert("elements: "+a+" Length: "+a.length);<br/> a.remove(0); //删除下标为0的元素<br/> alert("elements: "+a+" Length: "+a.length);</p><p> /*<br/> * 方法:Array.baoremove(dx)<br/> * 功能:删除数组元素.<br/> * 参数:dx删除元素的下标.<br/> * 返回:在原数组上修改数组.<br/> */</p><p> //我们也可以用splice来实现.</p><p> Array.prototype.baoremove = function(dx)<br/> {<br/> if(isNaN(dx)||dx>this.length){return false;}<br> this.splice(dx,1);<br> }<br> b = [1,2,3,4,5];<br> alert("elements: "+b+" Length: "+b.length);<br> b.baoremove(1); //删除下标为1的元素<br> alert("elements: "+b+" Length: "+b.length);<br> </script>