Java의 Map은 매우 실용적인 컬렉션입니다. 저는 Java에서 Map을 사용하는 데 익숙합니다. 이전에 Flex AS 코드를 작성할 때 Map이 필요한 상황을 접한 적이 있습니다. , AS에는 실제로 Java에서 Map을 대체할 수 있는 Dictionary 사전 클래스가 있습니다. 동시에 Map은 객체의 속성-값 형식을 사용하여 구현할 수도 있습니다. 여기서 JS의 Map 구현은 객체의 속성-값을 사용합니다. . 구현은 매우 간단합니다. 이는 Java 프로그래머가 JS 코드를 쉽게 작성할 수 있도록 하기 위한 것입니다.
//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; };