今天自己写了个 JS 的LIST类,实现一些简单的功能
可能在删除最后一个元素要出错,但是我测试了一下,没有什么问题
//提供一个LIST类,包含了下列方法:
add(object) 增加一个对象
del(index) 删除一个对象
get(index) 取一个对象
hasNext() 判断是否存在下一个对象
next() 取下一个对象
length() 取LIST长度
index() 在hasnext() 时取得指针当前所在位置,当 next() 后指针指向下一个位置 返回 int 型
js 代码
-
-
-
- function ArrayList(){
- this.inum = -1;
- this.list = [];
-
- this.length = function (){return this.list.length;}
-
- this.index = function (){return this.inum;}
-
- this.initIndex = function (){this.inum=-1;}
-
- this.get = function (index){
- return this.list[index];
- }
-
- this.add = function (obj){
- this.list[this.list.length] = obj;
- }
-
-
- this.del = function (index){
- var isDel = false;
- for(i=index;i<this.list.length;++i){
- if (i>=index && index>-1 && index<this.list.length) {
- isDel = true;
- this.list[i] = this.list[i+1];
- }
- }
- if(isDel) this.list.length = this.list.length-1;
- return isDel;
- }
-
-
- this.isFirst= function (){
- return this.inum==0?true:false;
- }
-
-
- this.isLast = function (){
- return (this.inum==this.list.length-1)?true:false;
- }
-
-
- this.hasNext= function (){
- if(this.list.length>this.inum+1){
- return true;
- }else{
- this.inum = -1;
- return false;
- }
- }
-
-
- this.next = function (){
- return this.list[++this.inum];
- }
- }