JavaScript_object(基于map练习)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript_object(基于map练习)相关的知识,希望对你有一定的参考价值。

javascript在编程过程中,不会像java那么方便,提供大量的API让开发这直接去调用,但底层也封装大量的工具让开发者写方法去实现,

以map为例,写简单的增删改查模拟java中的map:

function Map() {
  var obj = {};  //创建一个对象

     //将值绑定到map上
  this.put = function (key,value) {
    obj[key] = value;
  }

  //获取map的个数
  var count = 0;
  this.size = function() {
    var count = 0;
    for ( var i in obj) {
      count ++;
    }
    return count;
  }

  //根据key获取value(很常用,今天写java时就用到)
  this.get = function(key) {
    if (obj[key] || obj[key] === 0 || obj[key] === false) {
      return obj[key];
    }else{
      return null;
    }
  }

  //移除值
  this.remove = function(key) {
    if (obj[key] || obj[key] === 0 || obj[key] === false) {
      delete obj[key];
    }
  }  
  

  //遍历map的key(value);
  this.foreach = function(fn) {  //fn回调函数
    for ( var i in obj) {
      fn(i,obj[i]);
    }
  }
}

  var m = new Map();  //实例化map
  m.put("001",false);  //将键值添加到map中
  m.put("002",true);
  m.put("003","sz");

 

  //进行测试
  alert(m.size());  
  alert(m.get("003"));
  alert(m.remove("001"));

  m.foreach(function(key,value){
    alert(key + ":" + value);
  })

 

以上是关于JavaScript_object(基于map练习)的主要内容,如果未能解决你的问题,请参考以下文章

Map集合框架的练习

集合练习——Map部分

MAP接口课堂练习

ProtoBuf练习

java Map练习

lambda map() filter() zip()练习