Map in Java is a very practical collection. I am used to using Map in Java. I feel very uncomfortable when I switch to another language without Map. I have encountered situations where Map is needed when writing Flex AS code before, but AS actually There is a Dictionary dictionary class that can replace Map in Java. At the same time, Map can also be implemented using the attribute-value form of an object. Here, the Map implementation of JS uses the attribute-value of the object. The implementation is very simple, this is just to allow Java programmers to easily write JS code.
//construction function Map() { this.obj = new Object(); }; //add a key-value Map.prototype.put = function(key, value) { this.obj[key] = value; }; //get a value by a key,if don't exist,return undefined Map.prototype.get = function(key) { return this.obj[key]; }; //remove a value by a key Map.prototype.remove = function(key) { if(this.get(key)==undefined) { return; } delete this.obj[key]; }; //clear the map Map.prototype.clear = function() { this.obj = new Object(); }; //get the size Map.prototype.size = function() { var ary = this.keys(); return ary.length; }; //get all keys Map.prototype.keys = function() { var ary = new Array(); for(var temp in this.obj) { ary.push(temp); } return ary; }; //get all values Map.prototype.values = function() { var ary = new Array(); for(var temp in this.obj) { ary.push(this.obj[temp]); } return ary; };