var Arr1=['1','2','2','3','2','3','2','5'];
var Arr2 = new Array();
var isHave; //判断Arr2数组中是否存在Arr1数组中的数组元素
for(var i=0,j=Arr1.length;i<j;i++)
{
isHave = false;
for(var x=0,y=Arr2.length; x<y; x++)
{
if(Arr1[i] == Arr2[x])
{
isHave = true;
break;
}
}
if(!isHave)
{
Arr2.push(Arr1[i]);
}
}
<script>
/**
//prototype为对象原型,注意这里为对象增加自定义方法的方法。
Array.prototype.del=function(n) { //n表示第几项,从0开始算起。
if(n<0) //如果n<0,则不进行任何操作。
return this;
else
return this.slice(0,n).concat(this.slice(n+1,this.length));
concat方法:返回一个新数组,这个新数组是由两个或更多数组组合而成的。
这里就是返回this.slice(0,n)/this.slice(n+1,this.length)
组成的新数组,这中间,刚好少了第n项。
slice方法: 返回一个数组的一段,两个参数,分别指定开始和结束的位置。
}
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(0); //删除下标为0的元素
alert("elements: "+a+"/nLength: "+a.length);
/*
* 方法:Array.baoremove(dx)
* 功能:删除数组元素.
* 参数:dx删除元素的下标.
* 返回:在原数组上修改数组.
//我们也可以用splice来实现.
Array.prototype.baoremove = function(dx)
{
if(isNaN(dx)||dx>this.length){return false;}
this.splice(dx,1);
}
b = ['1','2','3','4','5'];
alert("elements: "+b+"/nLength: "+b.length);
b.baoremove(1); //删除下标为1的元素
alert("elements: "+b+"/nLength: "+b.length);
*/
</script>
6736

被折叠的 条评论
为什么被折叠?



