这个方法的原型是我从网上找的,用的时候发现有个缺陷,当同样的字符在这个数组中出现多次时,删除会出错。
所以我在这个方法的前后都加了处理,也就是在删除之前给每个元素加上编号&&△,删除完成后再把△之前的部分去掉。
当然也有缺陷,就是这个数组里不能有特殊字符:△
/*************************************
*为数组添加remove方法
************************************/
Array.prototype.remove=function(dx)
{
for(var l=0;l<this.length;l++)
{
this[l] = l+"△"+this[l];
}//改变数组结构,使得没个元素都不相同
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;
//----------撤销更改△,还原数组内容
for(var m=0;m<this.length;m++)
{
this[m]= this[m].split("△")[1];
}
}
//-用法-------------------------
var a=new Array("a","b","c");
a.remove(Index);