`

JS中对Map操作

阅读更多
<SCRIPT type="text/javascript">
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;
    };
}

$(function(){
	var map = new Map();
    map.put("key", "value");
    map.put("key1", "value1");
    map.put("key2", "value2");
    map.put("key3", "value3");
    var val = map.get("key2")
	alert(val);
});
</SCRIPT>

 

分享到:
评论

相关推荐

    js操作map类UtilMap

    由于在js中不能直接操作map,所以在js中写了一个UtilMap对象,模仿java操作map的方法来操作UtilMap对象。

    js实现类似于JAVA的Map的封装

    通过JS的使用,实现类似于JAVA中Map的操作

    JavaScript中利用Array和Object实现Map的方法

    主要介绍了JavaScript中利用Array和Object实现Map的方法,实例分析了javascript实现map的添加、获取、移除、清空、遍历等操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    javascript map()方法解析

    var new_array = arr.map(function callback(currentValue[, index[, array]]) { // Return element for new_array }[, thisArg]) 参数 callback:生成新数组元素的函数,使用三个参数: currentValue:callback ...

    js代码-js -- 实现同步map函数

    js代码-js -- 实现同步map函数

    threejs-map:在Threejs中嵌入Openlayers地图

    在平移、缩放、旋转操作时,保持该css3d对象在屏幕坐标的位置和大小不变,同时根据该css3d对象在Threejs world坐标中的位置计算Openlayers中地图的显示区域 最终效果等同于在Threejs的world中添加了一个地图图层

    fun-with-js-map-reduce:实用的 JavaScript Map Reduce 示例

    入门map-reduce 一组数据是对集合中的每个数据项应用一些操作,然后应用另一个操作将数据集缩减为单个结果。 事实证明,在将十六进制数转换为十进制数时,存在应用这种方法的完美示例。 一个例子:假设我们有十六...

    js代码-map数组的操作

    js代码-map数组的操作

    在JavaScript中操作数组之map()方法的使用

    JavaScript 数组map()方法创建一个新的数组使用调用此数组中的每个元素上所提供的函数的结果。 语法 array.map(callback[, thisObject]); 下面是参数的详细信息: callback : 从当前的元素函数产生新的数组的元素...

    javascript实现Java中的Map对象功能的实例详解

    javascript 自定义对象实现Java中的Map对象功能 Java中有集合,Map等对象存储工具类,这些对象使用简易,但是在JavaScript中,你只能使用Array对象。 这里我创建一个自定义对象,这个对象内包含一个数组来存储数据...

    JS自定义对象实现Java中Map对象功能的方法

    本文实例讲述了JS自定义对象实现Java中Map对象功能的方法。分享给大家供大家参考。具体分析如下: Java中有集合,Map等对象存储工具类,这些对象使用简易,但是在JavaScript中,你只能使用Array对象。 这里我创建一...

    JavaScript实现Java中Map容器的方法

    因此不允许键重复(重复了的覆盖),但允许值重复.JavaScript中的对象特性,就是不允许有相同的属性存在,和Java的Map非常的相似,所以可以利用这个特性在JavaScript中来实现Map容器,实现基本的增删查的操作. function ...

    JS实现的自定义map方法示例

    主要介绍了JS实现的自定义map方法,结合实例形式分析了javascript自定义map相关的json数组定义、遍历、添加、删除、读取等相关操作技巧,需要的朋友可以参考下

    mongo-map:使用 mongoDB 聚合框架时,此助手可让您在 JS-map 中进行查找

    在常规的 js 代码中,你会这样做: var value = map [ key ] ; 此模块可帮助您在聚合框架管道内部执行相同的操作。 npm install mongo-map 要求 mongo 2.6.x 或更高版本 用法 var getInMap = require ( '...

    pixelmap.js:一个使用WebGL通过反向像素映射将图像绘制到画布上JavaScript库

    pixelmap.js是一个JavaScript库,用于使用WebGL通过将图像绘制到画布上。 请访问进行演示。 什么? 图像转换可以简化为从(x, y)到位置(i, j)的像素映射。 但是,执行相反的操作(将(i, j)映射到(x, y)更为有效。 ...

    原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作

    主要介绍了原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作,结合实例形式分析了JS使用forEach()和map()以及jQuery使用$.each、$.map进行遍历操作相关技巧与操作注意事项,需要的朋友可以...

    javaScript如何处理从java后台返回的list

    但js中想获取它并操作它。直接使用EL表达式,js把它识别成字符串了。不是我想要的啊。。网上搜了搜大家的解决方案…最好的当然是把List集合转成json格式传到界面上。这样js里面操作也简单,页面也没有影响。 解决: ...

Global site tag (gtag.js) - Google Analytics