js模仿hashmap
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? 希望起到抛砖引玉的效果