您的位置:首页 > 理论基础 > 数据结构算法

JavaScript实现Map数据结构,及JS中的单例

2007-09-10 13:43 603 查看



var MapClass=




...{


    map : new Array(),


    //Update or Insert




    setAt : function(key, value)...{


      


      for (var i = 0; i < this.map.length; i++)




      ...{


        if ( this.map[i].key === key )




        ...{


          this.map[i].value = value;


          return;


        }


      }


      


      this.map[this.map.length] = new struct(key, value);


    


    },


    //Query


    lookUp : function(key)




    ...{


      for (var i = 0; i < this.map.length; i++)




      ...{


        if ( this.map[i].key === key )




        ...{


          return this.map[i].value;


        }


      }


      


      return null;


    },


    //Delete


    removeKey : function(key)




    ...{


      var v;


      for (var i = 0; i < this.map.length; i++)




      ...{


        v = this.map.pop();


        if ( v.key === key )


          continue;


          


        this.map.unshift(v);


      }


    },


    




    getCount: function()...{


      return this.map.length;


    },


    




    isEmpty : function()...{


      return this.map.length <= 0;


    }


} ;






function struct(key, value)...{




  this.key = key;


  this.value = value;




}

上述代码中,struct类定义为常规类定义方式,MapClass为非常规定义方式,可实现页面内的单例模式。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息