首頁 >web前端 >js教程 >JS自訂物件實作Java中Map物件功能的方法_javascript技巧

JS自訂物件實作Java中Map物件功能的方法_javascript技巧

WBOY
WBOY原創
2016-05-16 16:19:011675瀏覽

本文實例講述了JS自訂物件實作Java中Map物件功能的方法。分享給大家供大家參考。具體分析如下:

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

這裡我建立一個自訂對象,這個對象內包含一個陣列來儲存數據,資料對像是一個Key,可以實際儲存的內容!
 
這裡Key,你要使用String類型,跟Java一樣,你可以做一些增加,刪除,修改,得到的操作。

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

複製程式碼 程式碼如下:
/**
 * @version 1.0 
 * 用來實作頁面 Map 對象,Key只能是String,物件隨意
 */ 
var Map = function(){ 
    this._entrys = new Array(); 
     
    this.put = 函數(鍵,值){ 
        if (key == null || key == undefined) { 
            返回; 
        } 
        var index = this._getIndex(key); 
        if (索引 == -1) { 
            var 條目 = new Object(); 
            條目.key = 鍵; 
            條目.值 = 值; 
            this._entrys[this._entrys.length] = 條目; 
        }其他{ 
            this._entrys[index].value = 值; 
        }         
    }; 
    this.get = 函數(鍵){ 
        var index = this._getIndex(key); 
        返回(索引!= -1)? this._entrys[index].value : null; 
    }; 
    this.remove = 函數(鍵){ 
        var index = this._getIndex(key); 
        if (索引!= -1) { 
            this._entrys.splice(索引, 1); 
        } 
    }; 
    this.clear = function(){ 
        this._entrys.length = 0;; 
    }; 
    this.contains = 函數(鍵){ 
        var index = this._getIndex(key); 
        返回(索引!= -1)?真:假; 
    }; 
    this.getCount = function(){ 
        回 this._entrys.length; 
    }; 
    this.getEntrys = function(){
        回此._entrys; 
    }; 
   this._getIndex = 函數(鍵){ 
        if (key == null || key == undefined) { 
            回-1; 
        } 
        var _length = this._entrys.length; 
        for (var i = 0; i             var 條目 = this._entrys[i]; 
            if (條目 == null || 條目 == 未定義) { 
                續; 
            } 
            if (entry.key === key) {//等於
                回我; 
            } 
        } 
        回-1; 
    }; 
}

 
如果你不懂Js中物件的創建等一些基礎知識,自己可以上網查一下。
複製程式碼程式碼如下:
//自訂Map物件
var map = new Map(); 
地圖.put("a","a"); 
警報(地圖.get(“a”)); 
地圖.put(“a”,“b”); 
警報(map.get(“a”));

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

其他方法大家自己寫寫看!

希望本文所述對大家的javascript程式設計有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn