JS表的模拟方法
本文实例讲述了JS表的模拟方法。分享给大家供大家参考。具体方法如下:
<!doctypehtml> <html> <head> <metacharset="utf-8"> <title>列表</title> <script> functionList(){ this.listSize=0; this.pos=0; this.dataStore=[];//初始化一个空数组来保存列表元素 this.clear=clear; this.find=find; this.toString=toString; this.insert=insert; this.append=append; this.remove=remove; this.front=front; this.end=end; this.prev=prev; this.next=next; this.length=length; this.currPos=currPos; this.moveTo=moveTo; this.getElement=getElement; this.length=length; this.contains=contains; functionappend(element){ this.dataStore[this.listSize++]=element; }; functionfind(element){ for(vari=0;i<this.dataStore.length;i++){ if(this.dataStore[i]===element){ returni; } } return-1; } functionremove(element){ varfoundAt=this.find(element); if(foundAt!=-1){ this.dataStore.splice(foundAt,1); this.listSize--; returnelement; //returntrue原本是这样,后面本人改为ELEMENT }else{ returnfalse; } } functionlength(){ returnthis.listSize; } functiontoString(){ returnthis.dataStore; } functioninsert(element,after){ varinsertPos=this.find(after); if(insertPos!=-1){ this.dataStore.splice(insertPos+1,0,element); this.listSize++; returntrue; }else{ returnfalse; } } functionclear(){ deletethis.dataStore; this.listSize=0; this.pos=0; this.dataStore=[]; } functioncontains(element){ for(vari=0;i<this.dataStore.length;i++){ if(this.dataStore[i]===element){ returntrue; } } returnfalse; } functionfront(){ this.pos=0; } functionend(){ this.pos=this.listSize-1; } functionprev(){ //if(this.pos>0){ --this.pos; //} } functionnext(){ //if(this.pos<this.listSize-1){ ++this.pos; //} } functioncurrPos(){ returnthis.pos; } functionmoveTo(pos){ this.pos=pos; } functiongetElement(){ returnthis.dataStore[this.pos]; } } varlist=newList(); list.append({name:'夏广成',sex:'男'}); list.append({name:'江荣盛',sex:'男'}); list.append({name:'杜强',sex:'男'}); list.append({name:'巧华',sex:'女'}); list.append({name:'方阳',sex:'男'}); for(list.front();list.currPos()<list.length();list.next()){ varitem=list.getElement(); if(item.sex=='女'){ list.remove(item); } } for(list.front();list.currPos()<list.length();list.next()){ varitem=list.getElement(); console.log(item.name); } </script> </head> <body> </body> </html>
希望本文所述对大家的javascript程序设计有所帮助。