JavaScript中没有类似Java中的Map集合类的实现,自己做了简单实现,如下:

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) {
if (!this.containsKey(_key)) {
this.elements.push({
key:_key,value:_value
});
} else {
for (var i = 0; i < this.elements.length; i++) {
if (this.elements[i].key === _key) {
this.elements[i].value = _value;
}
}
}
};
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;
}
}
};
this.get=function(_key) {
try {
for (var i = 0; i < this.elements.length; i++) {
if (this.elements[i].key === _key) {
return this.elements[i].value;
}
}
} catch(e) {
return null;
}
return null;
};
this.containsKey=function(_key) {
try {
for (var i = 0; i < this.elements.length; i++) {
if (this.elements[i].key===_key) {
return true;
}
}
} catch (e) {
return false;
}
return false;
};
this.entryArray = function() {
var eArr = [];
try {
for (var i = 0; i < this.elements.length; i++) {
eArr.push(new Entry(this.elements[i].key, this.elements[i].value));
};
} catch (e) {
return eArr;
}
return eArr;
}; function Entry(key, value) {
this.key = key;
this.value = value;
}
}

<END>

JavaScript实现Map功能的更多相关文章

  1. javascript实现map的功能(转载)

    /* * MAP对象,实现MAP功能 * * 接口: * size() 获取MAP元素个数 * isEmpty() 判断MAP是否为空 * clear() 删除MAP所有元素 * put(key, v ...

  2. JavaScript创建Map对象(转)

    JavaScript 里面本身没有map对象,用JavaScript的Array来实现Map的数据结构. /* * MAP对象,实现MAP功能 * * 接口: * size()     获取MAP元素 ...

  3. JavaScript之Map对象

    前言 工欲善其事,必先利其器.这是一款以前在前端项目中没有使用过的.有趣的对象,咱来看看如何使用~ 并非arrayObj.map(function) //arrayObj.map与arrayObj.f ...

  4. javascript 自动填充功能

    javascript 自动填充功能 javascript: (function(){ $("#zipcode").val("zip");$("#pho ...

  5. javascript的倒计时功能中newData().getTime()在iOS下会报错问题解决

    javascript的倒计时功能中newData().getTime()在iOS下会报错问题解决 在做移动端时间转化为时间戳时,遇到了一个问题,安卓手机上访问时,能拿到时间戳,从而正确转换时间,而在i ...

  6. javascript 页面导出功能

    javascript 页面导出功能 <a class="btn" href="javascript:void(0);" onclick="win ...

  7. JavaScript ES6 核心功能一览(转)

    原文地址:Overview of JavaScript ES6 features (a.k.a ECMAScript 6 and ES2015+) 原文作者:Adrian Mejia 译文出自:掘金翻 ...

  8. Javascript中暂停功能的实现

    <script language="javascript"> /*Javascript中暂停功能的实现 Javascript本身没有暂停功能(sleep不能使用)同时 ...

  9. JavaScript之map与parseInt的陷阱

    问题来源 ​ 这个问题的来源是学习廖雪峰老师JS教程.问题如下:小明希望利用map()把字符串变成整数,他写的代码很简洁: 'use strict'; var arr = ['1', '2', '3' ...

随机推荐

  1. 【GIT】Git Flow最佳实践

    Git Flow 工作流一共包含五种分支: 两个长期分支: 主分支 master:用于存放对外发布的版本,任何时候在这个分支拿到的,都是稳定的分布版 开发分支 develop:用于日常开发,存放最新的 ...

  2. Uni2D —— 入门(全)

    Uni2D 入门 Uni2D 入门 -- Atlas Uni2D 入门 -- Animation Clip 和 Animation API Uni2D 入门 -- Skeletal Animation ...

  3. java高级---->Thread之CountDownLatch的使用

    CountDownLatch是JDK 5+里面闭锁的一个实现,允许一个或者多个线程等待某个事件的发生.今天我们通过一些实例来学习一下它的用法. CountDownLatch的简单使用 CountDow ...

  4. LeetCode——Peeking Iterator

    Description: Given an Iterator class interface with methods: next() and hasNext(), design and implem ...

  5. JavaWeb温习之Session对象

    1. Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服 ...

  6. 【BZOJ2217】[Poi2011]Lollipop 乱搞

    [BZOJ2217][Poi2011]Lollipop Description 有一个长度为n的序列a1,a2,...,an.其中ai要么是1("W"),要么是2("T& ...

  7. 【BZOJ4515】[Sdoi2016]游戏 树链剖分+线段树

    [BZOJ4515][Sdoi2016]游戏 Description Alice 和 Bob 在玩一个游戏. 游戏在一棵有 n 个点的树上进行.最初,每个点上都只有一个数字,那个数字是 1234567 ...

  8. yii2中的别名路径,@webroot , @web

    定义在yii\web\Application 的bootstrap中, Yii::setAlias('@webroot', dirname($request->getScriptFile())) ...

  9. Oracle管理监控之段空间利用监控-oracle性能优化

    SELECT S.OWNER,       S.SEGMENT_NAME,       S.SEGMENT_TYPE,       S.PARTITION_NAME,       ROUND(BYTE ...

  10. Modulo operation

    Modulo operation - Wikipedia https://en.wikipedia.org/wiki/Modulo_operation https://baike.baidu.com/ ...