JavaScript-Map

来源:互联网 发布:视频矩阵切换控制器 编辑:程序博客网 时间:2024/05/01 11:00

var map = new Map();
<%
RowSet rowSet = (RowSet) request.getAttribute("WY_OU_DESIGN_MAP");
Row row = null;
if (rowSet != null && rowSet.getSize() > 0) {
 for (int i = 0; i < rowSet.getSize(); i++) {
 row = rowSet.getRow(i);
%>
map.put('<%=row.getValue("OU_NAME")%>','<%=row.getValue("SF_GROUP")%>');
<%} }%>

 

var ouName = getSelectText(obj.name);
document.getElementById("organizationName").value = ouName;
if(containsKey(ouName)){
 document.getElementById("designName").value = map.get(ouName);
}

 

 

 

/* 

 * MAP Object ,realize the function of MAP  

 * Add by ZHAODEWEI

 * Interface: 

 * size()     Get number of elements of Map 

 * isEmpty()    To determine whether MAP is empty 

 * clear()     Delete all elements of Map 

 * put(key, value)   向MAP中增加元素(key, value)  

 * remove(key)    删除指定KEY的元素,成功返回True,失败返回False 

 * get(key)    获取指定KEY的元素值VALUE,失败返回NULL 

 * element(index)   获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL 

 * containsKey(key)  判断MAP中是否含有指定KEY的元素 

 * containsValue(value) 判断MAP中是否含有指定VALUE的元素 

 * values()    获取MAP中所有VALUE的数组(ARRAY) 

 * keys()     获取MAP中所有KEY的数组(ARRAY) 

 * 

 * 例子: 

 * var map = new Map(); 

 * 

 * map.put("key", "value"); 

 * var val = map.get("key") 

 * …… 

 * 

 */

function Map() { 

    this.elements = new Array(); 

  

    //获取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 

        }); 

    } 

  

    //删除指定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; 

    } 

}

 

 

原创粉丝点击