js中的Map
2016-03-21 00:00
746 查看
摘要: 构造一个map对象
(function($){
var HashMap=function(){
//定义长度
var length = 0;
//创建一个对象
var obj = new Object();
/**
* 判断Map是否为空
*/
this.isEmpty = function(){
return length == 0;
};
/**
* 判断对象中是否包含给定Key
*/
this.containsKey=function(key){
return (key in obj);
};
/**
* 判断对象中是否包含给定的Value
*/
this.containsValue=function(value){
for(var key in obj){
if(obj[key] == value){
return true;
}
}
return false;
};
/**
*向map中添加数据
*/
this.put=function(key,value){
if(!this.containsKey(key)){
length++;
}
obj[key] = value;
};
/**
* 根据给定的Key获得Value
*/
this.get=function(key){
return this.containsKey(key)?obj[key]:null;
};
/**
* 根据给定的Key删除一个值
*/
this.remove=function(key){
if(this.containsKey(key)&&(delete obj[key])){
length--;
}
};
/**
* 获得Map中的所有Value
*/
this.values=function(){
var _values= new Array();
for(var key in obj){
_values.push(obj[key]);
}
return _values;
};
/**
* 获得Map中的所有Key
*/
this.keySet=function(){
var _keys = new Array();
for(var key in obj){
_keys.push(key);
}
return _keys;
};
/**
* 获得Map的长度
*/
this.size = function(){
return length;
};
/**
* 清空Map
*/
this.clear = function(){
length = 0;
obj = new Object();
};
}
})(jQuery)
(function($){
var HashMap=function(){
//定义长度
var length = 0;
//创建一个对象
var obj = new Object();
/**
* 判断Map是否为空
*/
this.isEmpty = function(){
return length == 0;
};
/**
* 判断对象中是否包含给定Key
*/
this.containsKey=function(key){
return (key in obj);
};
/**
* 判断对象中是否包含给定的Value
*/
this.containsValue=function(value){
for(var key in obj){
if(obj[key] == value){
return true;
}
}
return false;
};
/**
*向map中添加数据
*/
this.put=function(key,value){
if(!this.containsKey(key)){
length++;
}
obj[key] = value;
};
/**
* 根据给定的Key获得Value
*/
this.get=function(key){
return this.containsKey(key)?obj[key]:null;
};
/**
* 根据给定的Key删除一个值
*/
this.remove=function(key){
if(this.containsKey(key)&&(delete obj[key])){
length--;
}
};
/**
* 获得Map中的所有Value
*/
this.values=function(){
var _values= new Array();
for(var key in obj){
_values.push(obj[key]);
}
return _values;
};
/**
* 获得Map中的所有Key
*/
this.keySet=function(){
var _keys = new Array();
for(var key in obj){
_keys.push(key);
}
return _keys;
};
/**
* 获得Map的长度
*/
this.size = function(){
return length;
};
/**
* 清空Map
*/
this.clear = function(){
length = 0;
obj = new Object();
};
}
})(jQuery)
相关文章推荐
- js数组去重
- Javascript 中的false,零值,null,undefined和空字符串对象
- js实现进度条效果
- 引入js文件加版本号
- 浅析 eval 解析json
- json格式字符串和json对象的区别
- javascript深入理解js闭包
- JSP中page和pageContext的区别
- JavaScript 中对内存的一些了解
- JSON介绍及使用
- JS学习总结
- javascript
- js中的正则表达式
- JavaScript系列(七: Cookie与Session?)
- JS 实现计算一段文字中的字节数,字母数,数字数,行数,汉字数。
- 视频播放插件Video.js简单使用
- javascript。。。
- ext.js打印出提示弹窗(鼓捣了两天终于尼玛出来了)
- bzoj 2257: [Jsoi2009]瓶子和燃料
- 学习JS的第一天