javascript并不提供原生的删除方法,需要使用prototype方法拓展使用
object.prototype.name=value
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(1); //删除下标为1的元素
alert("elements: "+a+"\nLength: "+a.length);
上面这种方法是网上各种赋值黏贴常见的方法,如果数组存入的是字符串,需要做一些改进
Array.prototype.remove=function(dx)
{//if(isNaN(dx)||dx>this.length){return false;} /*这部分是验证数字的,如果dx参数是一个字符串的话,只要判断非空即可 或者不做处理*/
for(var i=0,n=0;i<this.length;i++)
{
if(this[i]!=this[dx])
{
this[n++]=this[i]
}
}
this.length-=1
}
var errorFileArray = ["o_1aprj83oo17br1j5p1vpu7r46phi", "o_1aprj83ooi8r1slpf08fhm1lh5k", "o_1aprj83ooubhjrn5np2mr14jbl", "o_1aprj83ootb41s9vieaucoagam"];
var dx='"o_1aprj83ooi8r1slpf08fhm1lh5k";
errorFileArray.remove(dx);
console.log(errorFileArray);