可以像java中的Map一样使用,非常方便
var dataMap = new Map();
js版Map实现文件:
/** * js实现的map */ // 定义map function Map() { this.container = {}; } // 将key-value放入map中 Map.prototype.put = function(key, value) { try { if (key != null && key != "") this.container[key] = value; } catch (e) { return e; } }; // 根据key从map中取出对应的value Map.prototype.get = function(key) { try { return this.container[key]; } catch (e) { return e; } }; // 判断map中是否包含指定的key Map.prototype.containsKey = function(key) { try { for (var p in this.container) { if (p == key) return true; } return false; } catch (e) { return e; } } // 判断map中是否包含指定的value Map.prototype.containsValue = function(value) { try { for (var p in this.container) { if (this.container[p] === value) return true; } return false; } catch (e) { return e; } }; // 删除map中指定的key Map.prototype.remove = function(key) { try { delete this.container[key]; } catch (e) { return e; } }; // 清空map Map.prototype.clear = function() { try { delete this.container; this.container = {}; } catch (e) { return e; } }; // 判断map是否为空 Map.prototype.isEmpty = function() { if (this.keyArray().length == 0) return true; else return false; }; // 获取map的大小 Map.prototype.size = function() { return this.keyArray().length; } // 返回map中的key值数组 Map.prototype.keyArray = function() { var keys = new Array(); for (var p in this.container) { keys.push(p); } return keys; } // 返回map中的value值数组 Map.prototype.valueArray = function() { var values = new Array(); var keys = this.keyArray(); for (var i = 0; i < keys.length; i++) { values.push(this.container[keys[i]]); } return values; }