- /**
- * js实现的map
- * Author:penghuaiyi
- * Date:2009-06-04
- */
- //定义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(this.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;
- }
js操作map集合
最新推荐文章于 2024-05-28 16:39:12 发布