`

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>

 

分享到:
评论

相关推荐

    JavaScript实现Array(数组)和Map

    `object.js` 文件可能涉及到的是JavaScript对象的操作,虽然不是直接与Array或Map相关,但它们在JavaScript中是重要的数据结构。JavaScript对象是一种键值对的集合,键通常是字符串,但也可以是符号(Symbol)。与...

    javascript 中Map的使用

    总结,JavaScript中的Map提供了一种强大且灵活的键值对存储机制,其丰富的操作方法和与其他数据结构的差异性,使其在处理特定场景的数据时表现出色。学习和掌握Map的使用,对于提升JavaScript编程能力具有重要意义。

    Javascript 中类似Map集合的实现键值对

    在JavaScript中,`Map`集合是一个内置的数据结构,用于存储键值对,它与对象不同,因为对象的键必须是字符串或符号,而`Map`则可以使用任何可哈希的值作为键。这篇博客文章可能探讨了如何通过自定义方式实现一个类似...

    js中Map应用

    在JavaScript中,`Map`对象是一种内置的数据结构,它保存键值对,并且可以按插入顺序记住元素。与普通的JavaScript对象不同的是,`Map`的键可以是任何类型的值(不仅仅是字符串或符号)。本文将详细介绍如何在...

    js 实现map的方式

    JavaScript中的Map对象是一种数据结构,它允许我们存储键值对,并且键可以是任何类型,而不仅仅是字符串。Map对象在JavaScript ES6版本中被引入,为处理复杂的数据关联提供了更强大的工具,尤其对于那些需要使用非...

    js实现map用法

    理解这种底层实现有助于优化和调试涉及到大量Map操作的代码。 在工具开发中,Map也常被用来存储配置信息或者作为状态管理的一部分。例如,一个模块化的开发环境中,Map可以用于存储各个模块的状态,这样在需要更新...

    js操作map类UtilMap

    在JavaScript中,原生的`Map`对象虽然提供了丰富的功能,但其操作方式与Java中的`Map`有所不同,不那么直观。为了使习惯于Java开发的程序员在JS中也能便捷地操作映射数据结构,我们可以创建一个名为`UtilMap`的对象...

    在JavaScript中实现map对象

    ### 在JavaScript中实现Map对象 #### 一、引言 在JavaScript中,原生支持了多种数据结构,其中数组(Array)是最为常见的数据结构之一。然而,在某些应用场景下,我们可能需要一种能够根据键(key)快速查找值(value)的...

    js Map 工具类 MapUtil

    在JavaScript的世界里,`Map`对象是一个非常重要的数据结构,它允许我们存储键值对,其中键可以是任何类型的值,而不仅仅是字符串。`MapUtil`工具类则是为了方便开发者更高效、更灵活地操作`Map`对象。下面我们将...

    JavaScript 实现Array(数组)和Map

    在`map.js`文件中,可能会有对Map的实现或扩展,比如添加一个`forEach`方法遍历Map的所有键值对,或者一个`size`属性获取Map中的元素数量。 `object.js`文件可能包含与Object相关的辅助函数,比如深拷贝、属性检查...

    javascript的Map实现(高性能)

    在本示例中,`jmap.js`中的高性能`Map`利用了JSON的特性,将键值对存储为字符串化的JSON对象,然后通过字符串操作进行查找和更新,从而降低了内存开销。 在`jmap.js`中,可能会使用以下策略来提高性能: 1. **字符...

    百度地图MAP JS

    百度地图MAP JS是百度地图提供的JavaScript库,它允许开发者在网页上集成百度地图功能,实现地图的显示、标注、路线规划等多样化操作。这个库基于JavaScript语言,能够轻松地与HTML和CSS结合,为网页增添动态和交互...

    jquery3.6.0.min.js+min.map.7z

    本文将深入探讨"jquery3.6.0.min.js"和"jquery-3.6.0.min.map"这两个文件在jQuery 3.6.0版本中的关键知识点。 首先,我们来看"jquery3.6.0.min.js"。这是一个经过压缩和优化的jQuery核心库文件。"min"代表"minified...

    js仿java的map对象

    在JavaScript中,尽管原生没有提供与Java完全相同的Map对象,但可以通过自定义对象或使用ES6提供的Map数据结构来实现类似的功能。本篇将详细探讨如何在JavaScript中模仿Java的Map对象,以及ES6 Map的数据结构和用法...

    echarts-amap.min.js echarts针对高德地图的amap方法

    `echarts-amap.min.js` 是 ECharts 为了支持高德地图而专门提供的插件,它将 ECharts 的图表能力与高德地图的服务相结合,使得开发者可以在 ECharts 图表中使用高德地图作为底图。 `echarts-amap.min.js` 的使用...

    vue实现在图片中画矩形框,并得到对角坐标,设置map中area的样式.zip

    在Vue项目中实现图片上画矩形框并获取对角坐标以及设置`&lt;map&gt;`中的`&lt;area&gt;`样式,涉及到的技术主要包括JavaScript、HTML5的绘图API以及图像热区技术。接下来,我们将深入探讨这些知识点。 1. **JavaScript绘图API**...

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

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

    jsmap数据结构.pdf

    JavaScript中的Map数据结构是ES6引入的一种新的数据存储方式,它与传统的Object对象有显著区别。...总的来说,Map是JavaScript中一种强大且灵活的数据结构,它弥补了Object在处理键值对时的一些局限性。

    js代码-js获得map中key的个数

    在JavaScript中,Map对象是一种可变的键值对集合,其中键可以是任何类型,而不仅仅是字符串。Map对象提供了一种高效的方式存储和检索数据,同时也允许我们获取Map中的元素数量,也就是key的数量。本篇文章将详细介绍...

    jsMap矢量地图插件(包含全国JSON数据)

    由于jsMap是开源或商业授权的软件,开发者可以根据需求对其进行定制,调整地图样式,比如改变颜色方案、调整图层顺序、添加个性化图标等。此外,插件通常支持第三方数据源的接入,例如来自OpenStreetMap或其他地理...

Global site tag (gtag.js) - Google Analytics