国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS自定義對象實(shí)現(xiàn)Java中Map對象功能的方法

2019-11-20 13:21:24
字體:
供稿:網(wǎng)友

本文實(shí)例講述了JS自定義對象實(shí)現(xiàn)Java中Map對象功能的方法。分享給大家供大家參考。具體分析如下:

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

這里我創(chuàng)建一個(gè)自定義對象,這個(gè)對象內(nèi)包含一個(gè)數(shù)組來存儲(chǔ)數(shù)據(jù),數(shù)據(jù)對象是一個(gè)Key,可以實(shí)際存儲(chǔ)的內(nèi)容!
 
這里Key,你要使用String類型,和Java一樣,你可以進(jìn)行一些增加,刪除,修改,獲得的操作。

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

復(fù)制代碼 代碼如下:
/**
 * @version 1.0 
 * 用于實(shí)現(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ǔ)知識(shí),自己可以網(wǎng)上查一下。
復(fù)制代碼 代碼如下:
// 自定義Map對象 
var map = new Map(); 
map.put("a","a"); 
alert(map.get("a")); 
map.put("a","b"); 
alert(map.get("a"));

 
先彈出 a 后面彈出 b ,因?yàn)楹竺娴臅?huì)覆蓋前面的!

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

希望本文所述對大家的javascript程序設(shè)計(jì)有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 周口市| 咸宁市| 汤原县| 育儿| 柳州市| 永安市| 嵊泗县| 台北市| 交口县| 新民市| 仁化县| 皋兰县| 林芝县| 绍兴市| 昭觉县| 九寨沟县| 库尔勒市| 康马县| 常德市| 阳东县| 衢州市| 黔西县| 无棣县| 银川市| 武宁县| 高安市| 阳曲县| 柘城县| 景洪市| 时尚| 农安县| 五河县| 化州市| 增城市| 铁力市| 阳高县| 安陆市| 吴桥县| 内江市| 泽州县| 肇源县|