js hashTable

来源:互联网 发布:网络用语rip什么意思 编辑:程序博客网 时间:2024/05/29 17:11
 

function Hashtable() {
    this.container = new Object();

    /**//** put element */
    this.put = function (key, value) {
        if (typeof (key) == "undefined") {
            return false;
        }
        if (this.contains(key)) {
            return false;
        }
        this.container[key] = typeof (value) == "undefined" ? null : value;
        return true;
    };

    /**//** remove element */
    this.remove = function (key) {
        delete this.container[key];
    };

    /**//** get size */
    this.size = function () {
        var size = 0;
        for (var attr in this.container) {
            size++;
        }
        return size;
    };

    /**//** get value by key */
    this.get = function (key) {
        return this.container[key];
    };

    /**//** containts a key */
    this.contains = function (key) {
        return typeof (this.container[key]) != "undefined";
    };

    /**//** clear all entrys */
    this.clear = function () {
        for (var attr in this.container) {
            delete this.container[attr];
        }
    };

    /**//** hashTable 2 string */
    this.toString = function () {
        var str = "";
        for (var attr in this.container) {
            str += "," + attr + "=" + this.container[attr];
        }
        if (str.length > 0) {
            str = str.substr(1, str.length);
        }
        return "{" + str + "}";
    };
}

function getHashTable(str)
{
    var tbl = new Hashtable();
    str = str.replace("{", "").replace("}", "");
    var array = str.split(",");
    for (var i = 0; i < array.length; i++) {
        var data = array[i].split("=");
        tbl.put(data[0], data[1]);
    }
    return tbl;
}

   var hashtable = new Hashtable();
        hashtable.put('
1','huyvanpull');
        hashtable.put('
2','ensoodge');
        hashtable.put('
3','huyfan');
        
        hashtable.remove('
2');
        alert(hashtable.toString());