亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

javascript實現(xiàn)Java中的Map對象功能的實例詳解

 更新時間:2017年08月21日 15:39:49   作者:cuisuqiang  
這篇文章主要介紹了javascript 自定義對象實現(xiàn)Java中的Map對象功能的相關(guān)資料,這里實現(xiàn)這樣的功能,幫助大家理解這部分內(nèi)容,需要的朋友可以參考下

javascript  自定義對象實現(xiàn)Java中的Map對象功能

Java中有集合,Map等對象存儲工具類,這些對象使用簡易,但是在JavaScript中,你只能使用Array對象。

這里我創(chuàng)建一個自定義對象,這個對象內(nèi)包含一個數(shù)組來存儲數(shù)據(jù),數(shù)據(jù)對象是一個Key,可以實際存儲的內(nèi)容! 

這里Key,你要使用String類型,和Java一樣,你可以進(jìn)行一些增加,刪除,修改,獲得的操作。

使用很簡單,我先把工具類給大家看下:

/** 
 * @version 1.0 
 * @author cuisuqiang@163.com 
 * 用于實現(xiàn)頁面 Map 對象,Key只能是String,對象隨意 
 */ 
var Map = function(){ 
 this._entrys = new Array(); 
  
 this.put = function(key, value){ 
  if (key == null || key == undefined) { 
   return; 
  } 
  var index = this._getIndex(key); 
  if (index == -1) { 
   var entry = new Object(); 
   entry.key = key; 
   entry.value = value; 
   this._entrys[this._entrys.length] = entry; 
  }else{ 
   this._entrys[index].value = value; 
  }   
 }; 
 this.get = function(key){ 
  var index = this._getIndex(key); 
  return (index != -1) ? this._entrys[index].value : null; 
 }; 
 this.remove = function(key){ 
  var index = this._getIndex(key); 
  if (index != -1) { 
   this._entrys.splice(index, 1); 
  } 
 }; 
 this.clear = function(){ 
  this._entrys.length = 0;; 
 }; 
 this.contains = function(key){ 
  var index = this._getIndex(key); 
  return (index != -1) ? true : false; 
 }; 
 this.getCount = function(){ 
  return this._entrys.length; 
 }; 
 this.getEntrys = function(){ 
  return this._entrys; 
 }; 
 this._getIndex = function(key){ 
  if (key == null || key == undefined) { 
   return -1; 
  } 
  var _length = this._entrys.length; 
  for (var i = 0; i < _length; i++) { 
   var entry = this._entrys[i]; 
   if (entry == null || entry == undefined) { 
    continue; 
   } 
   if (entry.key === key) {//equal 
    return i; 
   } 
  } 
  return -1; 
 }; 
} 

 如果你不懂Js中對象的創(chuàng)建等一些基礎(chǔ)知識,自己可以網(wǎng)上查一下。

// 自定義Map對象 
var map = new Map(); 
map.put("a","a"); 
alert(map.get("a")); 
map.put("a","b"); 
alert(map.get("a")); 
 

先彈出 a 后面彈出 b ,因為后面的會覆蓋前面的!

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

最新評論