标签:javascript javascript实现map javascript实现字典
(function Map(){ var size = 0, map = {}, strundefined; function MapCache() { } MapCache.prototype.put = function (key, value){ if ( key === null || key === undefined){ throw new Error(" null or undefined is not a illegality variable ! "); } if ( map[ key + " " ] == strundefined ) { map[ key + " "] = value; size++; return; } map[ key + " " ] = value; } MapCache.prototype.remove = function (key) { var value; if ( key !== null || key !== strundefined ) { value = map[ key + " " ]; delete map[ key + " " ]; size--; return value; } return value; } MapCache.prototype.get = function (key) { if ( map[key + " "] != strundefined ) { return map[ key + " " ]; } return null; } MapCache.prototype.clear = function () { map = {}; size = 0; } MapCache.prototype.size = function () { return size; } MapCache.prototype.keys = function () { var key, keys = []; // 此处因为 map 采用对象字面量的形式声明,原型对象默认为 Object // 所以不需要使用hasOwnProperty 方法过滤原型链中的属性 for ( key in map ) { keys.push(key); } return keys; } // 遵循 AMD 模块化规范, 支持RequireJS 模块化导出 if ( typeof define === 'function' && define.amd ) { define('map', [], function (){ return MapCache; }) } // 导出名为 JMap 主要是为了防止和 chrome 中的自由 Map 命名冲突 window.JMap = MapCache; }());
版权声明:本文为博主原创文章,未经博主允许不得转载。
JavaScript中模拟实现Java的集合类Map的常用方法
标签:javascript javascript实现map javascript实现字典
原文地址:http://blog.csdn.net/shenlei19911210/article/details/47272323