首页 > 编程语言 > 详细

JavaScript仿Java实现Map

时间:2014-07-21 23:29:34      阅读:382      评论:0      收藏:0      [点我收藏+]
var Map = function() {
 this.elements = new Array();
 this.size = function() {
  return this.elements.length;
 }
 this.isEmpty = function() {
  return (this.elements.length < 1);
 }
 this.clear = function() {
  this.elements.length = 0;
 }
 this.put = function(_key, _value) {
  if(!this.containsKey(_key)){
   this.elements.push ( {
    key : _key,
    value : _value
   });
  }else{
   this.remove(_key);
   this.put(_key,_value);
  }
 }
 this.remove = function(_key) {
  try {
   for ( var i = 0; i < this.size(); i++) {
    if (this.elements[i].key == _key){
     this.elements.splice(i, 1);
     return true;
    }
   }
  } catch (e) {
   return false;
  }
  return false;
 }
 this.get = function(_key) {
  try {
   for ( var i = 0; i < this.size(); i++) {
    if (this.elements[i].key == _key) {
     var _value = this.elements[i].value;
     return _value;
    }
   }
  } catch (e) {
   return null;
  }
  return null;
 }
 this.containsKey = function(_key){
  try {
   for ( var i = 0; i < this.size(); i++) {
    if (this.elements[i].key == _key) {
     return true;
    }
   }
  } catch (e) {
   return false;
  }
  return false;
 }
 this.getValues = function(){
        var values=new Array();
        try {
            for ( var i = 0; i < this.size(); i++) {
                values.push(this.elements[i].key);
            }
        } catch (e) {
            alert("Can not get Map Values ! {1}"+e.message);
            return null;
        }
        return values;
    }
    this.getKeys = function(){
        var keys=new Array();
        try {
            for ( var i = 0; i < this.size(); i++) {
                keys.push(this.elements[i].values);
            }
        } catch (e) {
            //alert("Can not get Map Keys ! {1}"+e.message);
            return null;
        }
        return keys;
    }
    this.mapStr = function(){
        return this.elements.toString();
    } 
}

JavaScript仿Java实现Map,布布扣,bubuko.com

JavaScript仿Java实现Map

原文:http://my.oschina.net/u/658145/blog/293224

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!