`

Javascript下实现MAP

阅读更多

* Make a map like java.
* You can use this map like this :
* var myMap = new Map();
* myMap.put("key","value");
* var key = myMap.get("key");
*/
function Map() {   

    this.elements = new Array();   

    this.size = function() {
        return this.elements.length;
    }   

    this.isEmpty = function() {
        return (this.elements.length < 1);
    }   

    this.clear = function() {
        this.elements = new Array();
    }   

    this.put = function(_key, _value) {
        this.elements.push({key:_key, value:_value});
    }   

    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;
    }   

    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;
        }
    }   

    this.element = function(_index) {
        if (_index < 0 || _index >= this.elements.length) {
            return null;
        }
        return this.elements[_index];
    }   

    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;
    }   

    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;
    }   

    this.values = function() {
        var arr = new Array();
        for (i = 0; i < this.elements.length; i++) {
            arr.push(this.elements[i].value);
        }
        return arr;
    }   

    this.keys = function() {
        var arr = new Array();
        for (i = 0; i < this.elements.length; i++) {
            arr.push(this.elements[i].key);
        }
        return arr;
    }
}

 

分享到:
评论
2 楼 hailiang0901 2010-09-15  
javafound 写道
hash呢?把hash加上就好了,

哈哈!这个感觉写的不错!
1 楼 javafound 2010-09-14  
hash呢?把hash加上就好了,

相关推荐

    JavaScript实现Array(数组)和Map

    在JavaScript中,Array和Map是两种非常重要的数据结构,它们各有各的特点和应用场景。这篇文章将深入探讨这两个概念,以及如何在实际开发中使用它们。 首先,Array是JavaScript中最基础的数据结构之一,它允许我们...

    在JavaScript中实现map对象

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

    javascript实现map功能极其方便

    javascript实现map,极其方便,可在需要当前页处理多数据时使用

    用javaScript实现的map,经过测试,很好用

    本文将深入探讨如何使用JavaScript实现Map,以及它的特性和优势。 首先,创建一个Map对象非常简单,可以通过调用Map构造函数并传入可迭代对象(如数组)来初始化: ```javascript let map = new Map([[1, 'one'], ...

    利用js实现Map

    本文将深入探讨`Map`对象的原理、特性以及如何通过JavaScript实现`Map`的相关功能,并通过实例进行演示。 ### 1. Map的基本用法 创建一个`Map`对象非常简单,可以通过传入一个数组的数组来初始化,每个内部数组...

    JavaScript 实现Array(数组)和Map

    这样的实现可以帮助你理解数组操作的底层逻辑,并且在某些特定场景下提供更灵活的功能。 Map是ES6中新增的数据结构,它解决了对象作为键的局限性。在JavaScript中,对象的键默认是字符串,而Map可以使用任何可哈希...

    javascript的Map实现(高性能)

    在本文中,我们将深入探讨一种高性能的JavaScript `Map`实现,它基于JSON,具有出色的稳定性和更高的容量。 首先,我们来看传统的JavaScript `Map`。原生的`Map`提供了如`set`、`get`、`delete`、`has`等方法,便于...

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

    **自定义实现Map的思路** 1. **数据结构**:首先,我们需要一个数据结构来存储键值对,可以使用数组或对象。数组可以按照特定格式(如[key, value])存储,而对象则需要处理键的唯一性。 2. **size属性**:维护一...

    gmap.rar_GMAP_javascript_map_map javascript_map offline

    可以实现大部分功能 离线使用GOOGLEMAP”,说明了这是一个高手编写的程序,他或她已经将Google Maps的JavaScript库进行了本地化处理,使得开发者可以在没有互联网连接的情况下,依然能够使用Google Maps的部分功能。...

    js 实现map的方式

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

    javascript Map对象 原型 插件

    javascript Map原型,对象,实现javascript中的Map数据类型功能

    详解JavaScript中Hash Map映射结构的实现_.docx

    本文将深入探讨如何在JavaScript中实现一个简单的HashMap结构,并讨论与`Object`相关的陷阱。 首先,我们来看一个简单的HashMap实现: ```javascript var hashMap = { Set: function(key, value) { this[key] = ...

    javascript 中Map的使用

    3. Map的深拷贝:利用Map可以实现对象的深拷贝,通过递归将对象的所有属性转换为键值对存入Map,然后根据Map再构建新对象。 在实际开发中,Map常用于: - 保存索引映射关系,比如数组元素与其索引的对应。 - 维护多...

    JavaScript中实现Map的示例代码

    在JavaScript中,`Map`是一种内置的数据结构,用于存储键值对。不同于对象,Map的键可以是任何类型的值,而不仅仅是字符串。在本示例中,我们将详细讨论如何使用自定义函数实现一个简单的Map功能。 首先,创建一个...

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

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

    js实现map用法

    JavaScript中的Map对象是ES6引入的一种新的数据结构,它提供了键值对的存储方式,与对象类似但有显著区别。Map的主要优势在于键可以是任意类型,而不仅仅是字符串,这使得它在处理复杂数据结构时非常有用。在本文中...

    javascript map类

    javascript map类。类中有相应demo,在javascript中实现Map的一个类,包括map中对应的一些数据结构相关算法。

    js模拟list和map

    javascript 模拟 java中的 List,Map js文件为 js/utils.js IE6.0 测试通过 <br>List: add(var obj) //添加一个元素 remove(var index) //删除一个元素 get(var index) //获取一个元素 remove...

    基于Javascript实现的3D GIS,支持谷歌地图+必应地图+OpenStreetMap+搜索地图+天地图+源码+界面展示

    基于Javascript实现的3D GIS,支持谷歌地图+必应地图+OpenStreetMap+搜索地图+天地图+源码+界面展示,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于...

    javascript模拟map,set类,用起来挺方便的!!!

    1.可以用null,boolean,string,number,array,Date,自定义类的对象作键值,数组里的元素必须是实现equals方法的类型,而且数组里含有null,undefined,NaN会弹出异常; 2.数组维数尽量不要太多,程序里递归检查数组元素...

Global site tag (gtag.js) - Google Analytics