`

javascript 的 HashMap

阅读更多
//测试可用
/*
002
 * MAP对象,实现MAP功能
003
 *
004
 * 接口:
005
 * size()     获取MAP元素个数
006
 * isEmpty()    判断MAP是否为空
007
 * clear()     删除MAP所有元素
008
 * put(key, value)   向MAP中增加元素(key, value)
009
 * remove(key)    删除指定KEY的元素,成功返回True,失败返回False
010
 * get(key)    获取指定KEY的元素值VALUE,失败返回NULL
011
 * element(index)   获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL
012
 * containsKey(key)  判断MAP中是否含有指定KEY的元素
013
 * containsValue(value) 判断MAP中是否含有指定VALUE的元素
014
 * values()    获取MAP中所有VALUE的数组(ARRAY)
015
 * keys()     获取MAP中所有KEY的数组(ARRAY)
016
 *
017
 * 例子:
018
 * var map = new Map();
019
 *
020
 * map.put("key", "value");
021
 * var val = map.get("key")
022
 * ……
023
 *
024
 */

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;

    }
    
    this.getTopArray = function(){
    	return this.elements;
    }
    

}

分享到:
评论

相关推荐

    一个基于js的HashMap

    在JavaScript中,HashMap是一种数据结构,它允许我们通过键(key)来存储和检索值(value),类似于对象,但提供了一种更高效的方式来处理大量数据。JavaScript原生并不支持HashMap,但开发者可以通过自定义类来实现...

    基于JavaScript的HashMap实现

    在JavaScript中,HashMap是一种常用的键值对存储结构,它提供了快速的插入、删除和查找操作。JavaScript本身并不直接支持HashMap,但我们可以利用对象(Object)的特性来模拟HashMap的实现。这篇博客“基于...

    Javascript实现和操作HashMap

    在JavaScript中,HashMap是一种数据结构,它存储键值对,并且通过键来快速查找值。虽然JavaScript原生的`Map`对象提供了类似的功能,但在某些场景下,开发者可能需要自定义HashMap来满足特定的需求,例如优化性能...

    javaScript模拟的HashMap数据结构的对象

    javaScript模拟的HashMap数据结构,可以方便的put和get。几乎和Java中HashMap类的功能一模一样。非常好用的!

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

    在JavaScript中,哈希映射(HashMap)是一种数据结构,用于高效地存储和检索键值对。虽然JavaScript的内置对象`Object`可以被用来模拟哈希映射的行为,但它并不是一个标准的哈希表,因此可能会导致一些潜在问题。...

    linked-hash-map:维护插入顺序的Javascript HashMap

    Javascript LinkedHashMap 该实用程序可利用Javascript Object的功能作为哈希图,并为您提供插入顺序。 如果您需要通过键随机访问一个值,但又需要知道谁是您的直接邻居,则很有用。 旋转木马。

    HashMap.js

    模拟java中的HashMap类js类对象,可以与js的Array类对象配合使用

    js 版 java hashmap

    JavaScript中的HashMap并不是内置的数据结构,但在许多开发场景中,我们需要实现类似Java中HashMap的功能,用于存储键值对数据。在JavaScript中,我们通常使用对象(Object)来模拟HashMap的行为,因为对象的属性名...

    js 实现HashMap功能

    用js代码实现java中hashmap 的所有功能

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

    JavaScript中的Hash Map是一种数据结构,用于高效地存储和检索键值对。虽然JavaScript的内置对象`Object`可以用来模拟简单的键值对存储,但它并非一个真正的哈希映射,因为`Object`的一些特性可能导致意料之外的行为...

    javascript实现的HashMap类代码

    标题所揭示的知识点是关于如何使用JavaScript实现一个自定义的HashMap类。HashMap是一种常见的数据结构,广泛用于存储键值对,它允许快速的查找和更新。在计算机编程中,使用类似于Java或JavaScript这样的语言实现...

    前端开源库-hashmap

    `HashMap`作为一种常见的数据结构,它在JavaScript中的应用广泛,特别是在处理大量数据时,可以提供比原生对象更快的查找、添加和删除操作。`HashMap`是基于键值对存储的数据结构,其核心特性是通过哈希函数快速定位...

    HashMap类

    HashMap类在Java编程...在阅读《HashMap1.js》和《HashMap.js》这两个文件时,可以深入分析其JavaScript版本的HashMap实现,虽然与Java版本可能有所不同,但基本的哈希映射原理是相通的,有助于拓宽对哈希表的理解。

    html js 用HashMap去掉html中select中的重复值

    本文将探讨如何利用JavaScript和Java中的HashMap(在JavaScript中,我们可以使用类似的数据结构,如`Map`)来消除`&lt;select&gt;`中的重复值。 首先,让我们了解HashMap或Map数据结构。HashMap是Java中的一种集合类,它...

    hashmap:HashMap JavaScript类,用于Node.js和浏览器。 键可以是任何东西,不会被字符串化

    适用于JavaScript的HashMap类 安装 使用 : $ npm install hashmap 使用凉亭: $ bower install hashmap 您可以从下载最新的稳定版本。 如果您喜欢冒险,可以下载,它通常是稳定的。 要运行测试: $ npm test ...

    js-hashmap:javascript hasmap实现

    backbee / js-hashmap JavaScript哈希图实现##安装:bower install bb-js-hashmap --save ##特性: HashMap . length 返回HashMap对象中键/值对的数量。 HashMap . size 返回HashMap对象中键/值对的数量。 ## ...

    javascript 各种函数用法

    本文将详细介绍 JavaScript 中的数组函数、数字函数、字符串函数、表单验证、HashMap、堆栈、日期函数、call 函数等。 数组函数 JavaScript 中的数组函数提供了多种方法来操作数组,包括: * `push()`: 将参数...

    hashmap:受JDK 8启发的HashMap JavaScript类

    受JDK 8启发的HashMap JavaScript类 小心 这是一个进行中的工作(嗯,更像是大多数完成的工作)。 安装 使用npm: $ npm install hashmap-jdk 使用浏览器(即将提供Bower支持): 如果您想尝试一下,可以下载,它...

    JS hashMap实例详解

    JavaScript中的HashMap是一种基于键值对的集合,它允许开发者存储和操作键值对数据结构。在JavaScript中,虽然ES6引入了Map对象,但在ES6之前,开发者通常需要手动实现HashMap功能。接下来,我们将详细介绍如何在...

    js 集合类实现 (HashMap, Set, ArrayList, etc.)

    本篇文章将深入探讨JavaScript中的HashMap、Set和ArrayList等集合类的实现,并与Java中的相应概念进行对比,帮助开发者更好地理解和应用这些数据结构。 **1. HashMap** 在Java中,HashMap是一个散列映射容器,它...

Global site tag (gtag.js) - Google Analytics