最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Javacript中自定义的map.js 的方法

来源:懂视网 责编:小采 时间:2020-11-27 22:25:01
文档

Javacript中自定义的map.js 的方法

Javacript中自定义的map.js 的方法: js中没有map这个类,只能自己写一个。以下map.js和map-util.js都是自定义的map,任选其一就可以。你可以用它来像java里new Map()和put()、remove()、get()等方法。 map.js: function Map() { var struct = function(ke
推荐度:
导读Javacript中自定义的map.js 的方法: js中没有map这个类,只能自己写一个。以下map.js和map-util.js都是自定义的map,任选其一就可以。你可以用它来像java里new Map()和put()、remove()、get()等方法。 map.js: function Map() { var struct = function(ke

 js中没有map这个类,只能自己写一个。以下map.js和map-util.js都是自定义的map,任选其一就可以。你可以用它来像java里new Map()和put()、remove()、get()等方法。

map.js:

function Map() { 
 var struct = function(key, value) { 
 this.key = key; 
 this.value = value; 
 } 
 var put = function(key, value){ 
 for (var i = 0; i < this.arr.length; i++) { 
 if ( this.arr[i].key === key ) { 
 this.arr[i].value = value; 
 return; 
 } 
 } 
 this.arr[this.arr.length] = new struct(key, value); 
 } 
 var get = function(key) { 
 for (var i = 0; i < this.arr.length; i++) { 
 if ( this.arr[i].key === key ) { 
 return this.arr[i].value; 
 } 
 } 
 return null; 
 } 
 var remove = function(key) { 
 var v; 
 for (var i = 0; i < this.arr.length; i++) { 
 v = this.arr.pop(); 
 if ( v.key === key ) { 
 continue; 
 } 
 this.arr.unshift(v); 
 } 
 } 
 var size = function() { 
 return this.arr.length; 
 } 
 var isEmpty = function() { 
 return this.arr.length <= 0; 
 } 
 this.arr = new Array(); 
 this.get = get; 
 this.put = put; 
 this.remove = remove; 
 this.size = size; 
 this.isEmpty = isEmpty; 
} 

map-util.js:

function Map() { 
 this.elements = new Array(); 
 var i; 
 //获取MAP元素个数 
 this.size = function() { 
 return this.elements.length; 
 }; 
 //判断MAP是否为空 
 this.isEmpty = function() { 
 return (this.elements.length < 1); 
 }; 
 //删除MAP所有元素 
 this.clear = function() { 
 this.elements = new Array(); 
 }; 
 //向MAP中增加元素(key, value) 
 this.put = function(_key, _value) { 
 this.elements.push( { 
 key : _key, 
 value : _value 
 }); 
 }; 
 this.putFirst = function(_key, _value){ 
 var tempList = this.elements; 
 this.elements = new Array(); 
 this.elements.push( { 
 key : _key, 
 value : _value 
 }); 
 for(var i=0;i<tempList.length;i++){ 
 this.elements.push( 
 tempList[i] 
 ); 
 } 
 } 
 //删除指定KEY的元素,成功返回True,失败返回False 
 this.remove = function(_key) { 
 var bln = false; 
 try { 
 for (i = 0; i < this.elements.length; i++) { 
 if (this.elements[i].key == _key) { 
 this.elements.splice(i, 1); 
 return true; 
 } 
 } 
 } catch (e) { 
 bln = false; 
 } 
 return bln; 
 }; 
 //获取指定KEY的元素值VALUE,失败返回NULL 
 this.get = function(_key) { 
 try { 
 for (i = 0; i < this.elements.length; i++) { 
 if (this.elements[i].key == _key) { 
 return this.elements[i].value; 
 } 
 } 
 } catch (e) { 
 return null; 
 } 
 }; 
 //获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL 
 this.element = function(_index) { 
 if (_index < 0 || _index >= this.elements.length) { 
 return null; 
 } 
 return this.elements[_index]; 
 }; 
 //判断MAP中是否含有指定KEY的元素 
 this.containsKey = function(_key) { 
 var bln = false; 
 try { 
 for (i = 0; i < this.elements.length; i++) { 
 if (this.elements[i].key == _key) { 
 bln = true; 
 } 
 } 
 } catch (e) { 
 bln = false; 
 } 
 return bln; 
 }; 
 //判断MAP中是否含有指定VALUE的元素 
 this.containsValue = function(_value) { 
 var bln = false; 
 try { 
 for (i = 0; i < this.elements.length; i++) { 
 if (this.elements[i].value == _value) { 
 bln = true; 
 } 
 } 
 } catch (e) { 
 bln = false; 
 } 
 return bln; 
 }; 
 //获取MAP中所有VALUE的数组(ARRAY) 
 this.values = function() { 
 var arr = new Array(); 
 for (i = 0; i < this.elements.length; i++) { 
 arr.push(this.elements[i].value); 
 } 
 return arr; 
 }; 
 //获取MAP中所有KEY的数组(ARRAY) 
 this.keys = function() { 
 var arr = new Array(); 
 for (i = 0; i < this.elements.length; i++) { 
 arr.push(this.elements[i].key); 
 } 
 return arr; 
 }; 
} 

总结

以上所述是小编给大家介绍的 Javacript中自定义的map.js  的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

文档

Javacript中自定义的map.js 的方法

Javacript中自定义的map.js 的方法: js中没有map这个类,只能自己写一个。以下map.js和map-util.js都是自定义的map,任选其一就可以。你可以用它来像java里new Map()和put()、remove()、get()等方法。 map.js: function Map() { var struct = function(ke
推荐度:
标签: 中的 方法 自定义
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top