&#106avascript学习:删除数组元素

王朝html/css/js·作者佚名  2006-11-24
宽屏版  字体: |||超大  

JavaScript通过设置数组的length属性来截断数组是惟一一种缩短数组长度的方法.如果使用delete运算符来删除数组中元素,虽然那个元素变成未定义的,但是数组的length属性并不改变两种删除元素,数组长度也改变的方法.

<script>

/*

* 方法:Array.remove(dx)

* 功能:删除数组元素.

* 参数:dx删除元素的下标.

* 返回:在原数组上修改数组

*/

//经常用的是通过遍历,重构数组.

Array.prototype.remove=function(dx)

{

if(isNaN(dx)||dx>this.length){return false;}

for(var i=0,n=0;i<this.length;i++)

{

if(this[i]!=this[dx])

{

this[n++]=this[i]

}

}

this.length-=1

}

a = ['1','2','3','4','5'];

alert("elements: "+a+"\nLength: "+a.length);

a.remove(0); //删除下标为0的元素

alert("elements: "+a+"\nLength: "+a.length);

/*

* 方法:Array.baoremove(dx)

* 功能:删除数组元素.

* 参数:dx删除元素的下标.

* 返回:在原数组上修改数组.

*/

//我们也可以用splice来实现.

Array.prototype.baoremove = function(dx)

{

if(isNaN(dx)||dx>this.length){return false;}

this.splice(dx,1);

}

b = ['1','2','3','4','5'];

alert("elements: "+b+"\nLength: "+b.length);

b.baoremove(1); //删除下标为1的元素

alert("elements: "+b+"\nLength: "+b.length);

</script>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有