本章节介绍片一下如何利用javascript模拟实现HashMap类的一些功能,因为js本身是没有这样的类的。

HashMap类通常具有添加、删除、查询、删除等功能,下面就是我们模拟实现的代码。

代码如下:
   [ 其他 ] 运行代码    下载代码
<script>
function HashMap(){  /**Map大小**/
  var size = 0;
  /**对象**/
  var entry = new Object();
  /**Map的存put方法**/
  this.put=function(key,value){
    if(!this.containsKey(key)){
      size++;
      entry[key] = value;
    }
  }
  /**Map取get方法**/
  this.get=function(key){
    return this.containsKey(key)?entry[key] : null;
  }
  /**Map删除remove方法**/
  this.remove = function(key){
    if(this.containsKey(key) && (delete entry[key])){
      size--;
    }
  }
  /**是否包含Key**/
  this.containsKey = function(key) {
    return (key in entry);
  }
  /**是否包含Value**/
  this.containsValue = function(value) {
    for(var prop in entry){
      if (entry[prop] == value) {
        return true;
      }
    }
    return false;
  }
  /**所有的Value**/
  this.values = function() {
    var values = new Array();
    for (var prop in entry) {
      values.push(entry[prop]);
    }
    return values;
  }
  /**所有的 Key**/
  this.keys = function() {
    var keys = new Array();
    for(var prop in entry){
      keys.push(prop);
    }
    return keys;
  }
  /**Map size**/
  this.size = function() {
    return size;
  }
  /**清空Map**/
  this.clear = function() {
    size = 0;
    entry = new Object();
  }
}
//创建HashMap对象 
var hashMap = new HashMap();
hashMap.put("A", "1");
hashMap.put("B", "2");
hashMap.put("A", "5");
hashMap.put("C", "3");
hashMap.put("A", "4");
cosnole.log(hashMap.size());
</script>

代码描述:JavaScript模拟HashMap类。JavaScript模拟HashMap类效果源码下载



146 194



用户评论
大牛,别默默的看了,快登录帮我点评一下吧!:)      登录 | 注册



×
×
51前端

注册

×
绑定手机

请绑定手机号,在继续操作

×
单次下载支付

应付金额:279

支付完成后,回到下载页面,在进行下载

官方QQ群
意见反馈
qq群

扫描上面二维码加微信群

官方QQ群

jQuery/js讨论群
群号:642649996
Css3+Html5讨论群
群号:322131262

加群请备注:从官网了解到