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程序设计有所帮助。