标签: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