论坛首页 Web前端技术论坛

JAVASCRIPT资源------ArrayList

浏览 3939 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-04-29  

今天自己写了个 JS 的LIST类,实现一些简单的功能

可能在删除最后一个元素要出错,但是我测试了一下,没有什么问题


//提供一个LIST类,包含了下列方法:

add(object)   增加一个对象

del(index)  删除一个对象

get(index) 取一个对象

hasNext() 判断是否存在下一个对象

next() 取下一个对象

length() 取LIST长度

index() 在hasnext() 时取得指针当前所在位置,当 next() 后指针指向下一个位置 返回 int 型



js 代码
  1. //---提供一个用数组实现LIST类,包含了add del get hasnext next 等方法   
  2. //---2006-02-17------重庆----tangkaifeng   
  3.   
  4. function ArrayList(){   
  5.     this.inum   = -1; //--记录当前指针   
  6.     this.list   = []; //--保存对象表   
  7.  //--长度   
  8.     this.length = function (){return this.list.length;}   
  9.  //--当前指针位置   
  10.     this.index  = function (){return this.inum;}   
  11.  //--初始化指针 ----在循环成员时先初始化,防止意外退出时指针不在 0    
  12.  this.initIndex = function (){this.inum=-1;}   
  13.  //--取一个对象   
  14.     this.get = function (index){   
  15.         return this.list[index];   
  16.     }   
  17.  //--增加一个对象   
  18.     this.add = function (obj){   
  19.         this.list[this.list.length] = obj;   
  20.     }   
  21.   
  22.  //--删除一个对象   
  23.     this.del = function (index){   
  24.         var isDel   = false;   
  25.         for(i=index;i<this.list.length;++i){   
  26.             if (i>=index && index>-1 && index<this.list.length) {   
  27.                 isDel = true;   
  28.                 this.list[i]    = this.list[i+1];   
  29.             }   
  30.         }   
  31.         if(isDel) this.list.length = this.list.length-1;   
  32.         return isDel;   
  33.     }   
  34.   
  35.  //--当前是否是第一个对象   
  36.  this.isFirst= function (){   
  37.   return this.inum==0?true:false;   
  38.  }   
  39.   
  40.  //--当前是否是最后一个对象   
  41.  this.isLast = function (){   
  42.   return (this.inum==this.list.length-1)?true:false;   
  43.  }   
  44.   
  45.  //--下一个指针是否为空?   
  46.     this.hasNext= function (){   
  47.         if(this.list.length>this.inum+1){   
  48.             return true;   
  49.         }else{   
  50.             this.inum = -1;   
  51.             return false;   
  52.         }   
  53.     }   
  54.   
  55.  //--取当前指针所指的对象   
  56.     this.next   = function (){   
  57.         return this.list[++this.inum];   
  58.     }   
  59. }   
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics