有两个办法,最简单的是这样
<script language="JavaScript">
<!--
//** power by fason
var a = [1,2,3];
for(i in a)alert(a[i])
delete a[1];
for(i in a)alert(a[i])
</script>delete后用for in来遍历会忽略
<script language="JavaScript">
<!--
//** power by fason
var a = [1,2,3];
for(i in a)alert(a[i])
delete a[1];
for(i in a)alert(a[i])
</script>delete后用for in来遍历会忽略
用delete运算符删除数组中的元素,只是把元素变成未定义,
但是数组的length还并不会改变.
var a = [1,2,3];
var b = new Array();
var i = 0;
alert(a.length);
delete a[1];
for(b[i++] in a){}
a=b;
alert(a.length)
alert(a);
</script>
数组的表示我也不是用这种方案
我是这么表示的:var arr = new Array(1,2,3,4)
alert("POP之前:" + arr.length)
arr.pop()
alert("POP之后:" + arr.length)如果你要把中间某个元素删除, 你需要再做一个函数做做 swap
function removeArrItem(arr, index)
{
//首先排除非法的参数传递
if(!arr.length||arr.length<=0||arr.length <= index)return;
for(var i = index; i < arr.length; i++)
arr[i] = arr[i+1];
arr.pop()
}
{
//首先排除非法的参数传递
if(!arr)return;
if(!arr.length)return;
if(arr.length<=0||arr.length <= index)return;
for(var i = index; i < arr.length; i++)
arr[i] = arr[i+1];
arr.pop()
}
1、Name Array.prototype.del
Purpose 删除数组中的元素
Date 2004-1-12
Param index 表示第几项,从0开始算起 Return Array
*****************************************************************/
Array.prototype.del=function(index) {
if(index < 0) // 如果index < 0,则不进行任何操作。
return this;
else
return this.slice(0 , index).concat(this.slice(index + 1,this.length));
}使用方法:
var aa = new Array("1" , "2" , "3" , "4");
alert(aa.length); aa = aa.del(1);
alert(aa.length);