//Map.js
//js实现的Map
//v 1.0
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已经存在(containsKey(_key)返回true),
//则对应的_value替换老的值
this.put = function(_key, _value) {
var i;
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key) {
this.elements[i].value = _value;
break;
}
}
if (i == this.elements.length) {
this.elements.push({key:_key, value:_value});
}
}
//把键等于_key的元素去掉并返回true,
//如果不存在此元素,则返回false
this.remove = function(_key) {
for (var i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key){
this.elements.splice(i, 1);
return true;
}
}
return false;
}
//返回键_key对应的值,如果没有键与_key相等,则返回null
this.get = function(_key) {
for (var i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key) {
return this.elements[i].value;
}
}
return null;
}
//返回在_index位置的元素,
//如果_index小于0或者大于等于map的长度,则返回null
this.element = function(_index) {
if (_index < 0 || _index >= this.elements.length) {
return null;
}
return this.elements[_index];
}
//判断map中的键是否包含_key,
//如果包含返回true,否则返回false
this.containsKey = function(_key) {
for (var i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key){
return true;
}
}
return false;
}
//判断map中的值是否包含_value,
//如果包含返回true,否则返回false
this.containsValue = function(_value) {
for (var i = 0; i < this.elements.length; i++) {
if (this.elements[i].value == _value){
return true;
}
}
return false;
}
//把map中的值放入数组后返回
this.values = function() {
var arr = new Array();
for (var i = 0; i < this.elements.length; i++) {
arr.push(this.elements[i].value);
}
return arr;
}
//把map中的键放入数组后返回
this.keys = function() {
var arr = new Array();
for (var i = 0; i < this.elements.length; i++) {
arr.push(this.elements[i].key);
}
return arr;
}
}
很早以前写的,欢迎大家批评指正。
分享到:
相关推荐
javascript实现map,极其方便,可在需要当前页处理多数据时使用
本文将深入探讨如何使用JavaScript实现Map,以及它的特性和优势。 首先,创建一个Map对象非常简单,可以通过调用Map构造函数并传入可迭代对象(如数组)来初始化: ```javascript let map = new Map([[1, 'one'], ...
在JavaScript中,Array和Map是两种非常重要的数据结构,它们各有各的特点和应用场景。这篇文章将深入探讨这两个概念,以及如何在实际开发中使用它们。 首先,Array是JavaScript中最基础的数据结构之一,它允许我们...
本文主要分享了如何使用JavaScript实现类似Map的数据结构。在JavaScript中,虽然ES6标准已经包含了一个Map的实现,但是在早期版本中,并没有直接提供Map对象。因此,开发者们经常需要自己实现这样的数据结构。文章...
在本文中,我们将深入探讨一种高性能的JavaScript `Map`实现,它基于JSON,具有出色的稳定性和更高的容量。 首先,我们来看传统的JavaScript `Map`。原生的`Map`提供了如`set`、`get`、`delete`、`has`等方法,便于...
在描述中,“高人把google map的javascript全部下载下来 可以实现大部分功能 离线使用GOOGLEMAP”,说明了这是一个高手编写的程序,他或她已经将Google Maps的JavaScript库进行了本地化处理,使得开发者可以在没有...
### 在JavaScript中实现Map对象 #### 一、引言 在JavaScript中,原生支持了多种数据结构,其中数组(Array)是最为常见的数据结构之一。然而,在某些应用场景下,我们可能需要一种能够根据键(key)快速查找值(value)的...
在JavaScript编程中,Array和Map是两种非常重要的数据结构,它们各自有其独特的作用和应用场景。Array主要用于存储一组有序的元素,而Map则提供了一种键值对的存储方式,适用于关联不同类型的值。 Array(数组)是...
本文将深入探讨`Map`对象的原理、特性以及如何通过JavaScript实现`Map`的相关功能,并通过实例进行演示。 ### 1. Map的基本用法 创建一个`Map`对象非常简单,可以通过传入一个数组的数组来初始化,每个内部数组...
主要介绍了JavaScript中利用Array和Object实现Map的方法,实例分析了javascript实现map的添加、获取、移除、清空、遍历等操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
3. Map的深拷贝:利用Map可以实现对象的深拷贝,通过递归将对象的所有属性转换为键值对存入Map,然后根据Map再构建新对象。 在实际开发中,Map常用于: - 保存索引映射关系,比如数组元素与其索引的对应。 - 维护多...
JavaScript中的Map对象是一种数据结构,它允许我们存储键值对,并且键可以是任何类型,而不仅仅是字符串。Map对象在JavaScript ES6版本中被引入,为处理复杂的数据关联提供了更强大的工具,尤其对于那些需要使用非...
javascript Map原型,对象,实现javascript中的Map数据类型功能
基于Javascript实现的3D GIS,支持谷歌地图+必应地图+OpenStreetMap+搜索地图+天地图+源码+界面展示,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于...
1.可以用null,boolean,string,number,array,Date,自定义类的对象作键值,数组里的元素必须是实现equals方法的类型,而且数组里含有null,undefined,NaN会弹出异常; 2.数组维数尽量不要太多,程序里递归检查数组元素...
JavaScript中的Map对象是ES6引入的一种新的数据结构,它提供了键值对的存储方式,与对象类似但有显著区别。Map的主要优势在于键可以是任意类型,而不仅仅是字符串,这使得它在处理复杂数据结构时非常有用。在本文中...
在本项目中,“map-example.zip_html5_javascript_map”是一个包含使用HTML5和JavaScript实现的网页动态地图的压缩包。这个项目旨在展示如何利用这两种技术创建交互式地图应用,为用户提供丰富的地理信息可视化体验...
**自定义实现Map的思路** 1. **数据结构**:首先,我们需要一个数据结构来存储键值对,可以使用数组或对象。数组可以按照特定格式(如[key, value])存储,而对象则需要处理键的唯一性。 2. **size属性**:维护一...
本文将深入探讨如何在JavaScript中实现一个简单的HashMap结构,并讨论与`Object`相关的陷阱。 首先,我们来看一个简单的HashMap实现: ```javascript var hashMap = { Set: function(key, value) { this[key] = ...