JavaScript学习:删除数组元素

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

 1<script>   
 2/*   
 3* 方法:Array.remove(dx)   
 4* 功能:删除数组元素.   
 5* 参数:dx删除元素的下标.   
 6* 返回:在原数组上修改数组   
 7*/ 
 8
 9//经常用的是通过遍历,重构数组.   
10Array.prototype.remove=function(dx)   
11{   
12if(isNaN(dx)||dx>this.length){return false;}   
13for(var i=0,n=0;i<this.length;i++)   
14{   
15if(this[i]!=this[dx])   
16{   
17this[n++]=this[i]   
18}   
19}   
20this.length-=1   
21}   
22a = ['1','2','3','4','5'];   
23alert("elements: "+a+"\nLength: "+a.length);   
24a.remove(0); //删除下标为0的元素   
25alert("elements: "+a+"\nLength: "+a.length); 
26
27/*   
28* 方法:Array.baoremove(dx)   
29* 功能:删除数组元素.   
30* 参数:dx删除元素的下标.   
31* 返回:在原数组上修改数组.   
32*/ 
33
34//我们也可以用splice来实现. 
35
36Array.prototype.baoremove = function(dx)   
37{   
38if(isNaN(dx)||dx>this.length){return false;}   
39this.splice(dx,1);   
40}   
41b = ['1','2','3','4','5'];   
42alert("elements: "+b+"\nLength: "+b.length);   
43b.baoremove(1); //删除下标为1的元素   
44alert("elements: "+b+"\nLength: "+b.length);   
45</script>
Published At
Categories with 网页设计
Tagged with
comments powered by Disqus