rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 程序开发 » Javascript

给javascript数组加上remove方法

这个方法的原型是我从网上找的,用的时候发现有个缺陷,当同样的字符在这个数组中出现多次时,删除会出错。

所以我在这个方法的前后都加了处理,也就是在删除之前给每个元素加上编号&&△,删除完成后再把△之前的部分去掉。

当然也有缺陷,就是这个数组里不能有特殊字符:△

/*************************************
 *为数组添加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);

顶一下
(0)
踩一下
(0)