三个方法扩展Array删除功能

//三个方法扩展Array删除功能

<SCRIPT language='JavaScript' type='text/JavaScript'>

//删掉某index的元素

Array.prototype.getDesc=function(){
 var sss="";
 if( this instanceof Array){
  sss="length="+this.length +"/n";
  for(oo in this){
   if( !(this[oo] instanceof Function)){
    sss+="["+ oo +"]="+ this[oo] +"/n";
   }
  }
 }
 return sss;
}

Array.prototype.remove=function(dx){
 if(isNaN(dx)||dx>this.length){
  return false;
 }else{
  for(var i=0,n=0;i<this.length;i++){
   if(this[i]!=this[dx])this[n++]=this[i];
  }
  this.length-=1;
 }
}

//清除未定义元素
Array.prototype.pack=function(){
 var ptr=0;
 for(var i=0;i<this.length;i++){
  if(this[i]!=undefined){
   if(i>ptr){
    this[ptr]=this[i];
    delete(this[i]);
   }
   ptr++;
  }
 }
 this.length=ptr;
}

//按传入的判断函数,清除元素

Array.prototype.packByCondition=function(fCondition){
 var ptr=0;
 var of;
 if( fCondition instanceof Function ){
  of=fCondition;
 }else{
  of=function(x){return x==undefined;};
 }
 for(var i=0;i<this.length;i++){
  //if(this[i]!=undefined){
  if( ! of(this[i]) ){
   if(i>ptr){
    this[ptr]=this[i];
    delete(this[i]);
   }
   ptr++;
  }
 }
 this.length=ptr;
}

 </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值