六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 26|回复: 0

js模仿hashmap

[复制链接]

升级  20%

2

主题

2

主题

2

主题

童生

Rank: 1

积分
10
 楼主| 发表于 2013-1-29 09:28:18 | 显示全部楼层 |阅读模式
1 感想     
    javascript作为一种弱类型的语言,我们在开发时又喜欢又憎恨,一般作为开发java的我们来说,如果总是用面向对象的开发方法去学习,结果看来这并不是一个太好的方法,而当我们用JavaScript去模仿对象时,这对你的学习会起到很大的效果。这篇文章是用JavaScript去模仿java中生成一个map,也有参考别人的地方,希望大家有更好的方法能共享起来。
 
2 实践
 
function hashmap(){var size = 0;var entry = {};this.put = function(key,value){if(!this.containKey(key)){entry[key] = value;size++;return true;}else{return false;}},this.get=function(key){if(this.containKey(key)){return entry[key];}},this.containKey = function(key){return (key in entry);},this.containValue = function(value){for( var i in entry){if(entry[i] == value ){return true;}}return false;},this.clear = function(){   this.size =0;   this.entry = {};},this.size = function (){ return size;},this.keysByArray = function(){var keys = [];for(var keyIndex in entry){keys.push(keyIndex);}return keys;},this.keysByString = function(){var keys = [];for(var keyIndex in entry){keys.push(keyIndex);}return keys.join();},this.valuesByArray = function(){var values = [];for(var valueIndex in entry){values.push(entry[valueIndex]);}return values;},this.valuesByString = function(){var values = [];for(var valueIndex in entry){values.push(entry[valueIndex]);}return values.join();},this.remove = function(key){if(this.containKey(key)){delete entry[key];size--;}}} 
3  希望起到抛砖引玉的效果
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表