var map = newMap();
map.put({name:"张三"}, 23);
map.put("李四", 24);
map.get({name:"张三"});
map.remove({name:"张三"});
map.put("张三", 23);
var objArray = map.allList("name", "age");// [{name: "李四", age: 24}, {name: "张三", age: 23}]
map.values(); // [24, 23]
map.keys();// ["李四", "张三"]
map.has({name:"张三"});// false
map.size();// 2
var obj = map.all(); // {"李四": 24, "张三": 23}
map.clear();
map.size();// 0
map.getIndex({name: "张三"}); // -1
// 创建一个Mapfunction newMap() {var objectMap = new Object();objectMap.mapArray = [];objectMap.sortIndexArray = [];objectMap.getKeyStr = function(key) {var nKey = key;if (typeof key === 'object') {var obj = this.getBuiderObjectSort(key);nKey = JSON.stringify(obj);}return nKey;}objectMap.getBuiderObjectSort = function(obj) {var obj1 = new Object();var keys = Object.keys(obj);keys.sort();for(var i = 0 ; i < keys.length; i++) {var key = keys[i];obj1[key] = obj[key];}return obj1;}objectMap.getIndex = function(key) {var index = this.sortIndexArray.indexOf(this.getKeyStr(key));return index;}objectMap.remove = function(key) {var index = this.getIndex(key);if (index != -1) {this.sortIndexArray.splice(index, 1);this.mapArray.splice(index, 1);}}objectMap.clear = function() {this.mapArray = [];this.sortIndexArray = [];}objectMap.keys = function() {var arry1 = [];var self = this.sortIndexArray;for(var i = 0 ; i < self.length ; i++) {try{var obj = JSON.parse(self[i]);arry1.push(obj);}catch(e) {arry1.push(self[i]);}}return arry1;}objectMap.values = function() {var arry1 = [];var self = this.mapArray;for(var i = 0 ; i < self.length ; i++) {arry1.push(self[i].value);}return arry1;}objectMap.allList = function(keyName, valueName) {var arry1 = [];var keyN = keyName == undefined || keyName == null || keyName == '' ? 'key' : keyName;var valueN = valueName == undefined || valueName == null || valueName == '' ? 'value' : valueName;var self = this.mapArray;for(var i = 0 ; i < self.length ; i++) {try {var obj = JSON.parse(self[i].key);var object = {};object[keyN] = obj;object[valueN] = self[i].value;arry1.push(object);} catch (e) {var object = {};object[keyN] = self[i].key;object[valueN] = self[i].value;arry1.push(object);}}return arry1;}objectMap.all = function() {var obj1 = new Object();var self = this.mapArray;for(var i = 0 ; i < self.length ; i++) {var key = self[i].key;obj1[key] = self[i].value;}return obj1;}objectMap.size = function() {return this.mapArray.length;}objectMap.put = function(key, value) {var nKey = this.getKeyStr(key);var index = this.getIndex(key);if (index != -1) {this.mapArray[index].value = value;}else{this.mapArray.push({key: nKey, value: value});this.sortIndexArray.push(nKey);}}objectMap.get = function(key) {var index = this.getIndex(key);if (index != -1) {return this.mapArray[index].value;}return null;}objectMap.has = function(key) {var index = this.getIndex(key);return index != -1;}return objectMap;}