<script type="text/javascript"><!--
/**
* @author: kalogen
* @date: 2011-1-8
* map对象类,提供了put,get,remove,size,isEmpty等方法
*/
function Map() {
/**
* 构造函数
* @param {} key
* @param {} value
*/
var struct = function(key, value) {
this.key = key;
this.value = value;
}
/**
* 添加key对应的值,如果key已经存在则直接更新对应的值
* @param {} key
* @param {} value
*/
var put = function(key, value) {
for (var i = 0; i < this.arr.length; i++) {
if (this.arr[i].key === key) {
this.arr[i].value = value;
return;
}
}
this.arr[this.arr.length] = new struct(key, value);
}
/**
* 获取key对应的值
* @param {} key
* @return {}
*/
var get = function(key) {
for (var i = 0; i < this.arr.length; i++) {
if (this.arr[i].key === key) {
return this.arr[i].value;
}
}
return null;
}
/**
* 移除key对应的值
* @param {} key
*/
var remove = function(key) {
var v;
for (var i = 0; i < this.arr.length; i++) {
v = this.arr.pop();
if (v.key === key) {
continue;
}
this.arr.unshift(v);
}
}
/**
* 获取map对象的长度
* @return {}
*/
var size = function() {
return this.arr.length;
}
/**
* 判断map对象是否为空
* @return {}
*/
var isEmpty = function() {
return this.arr.length <= 0;
}
this.arr = new Array();
this.get = get;
this.put = put;
this.remove = remove;
this.size = size;
this.isEmpty = isEmpty;
}
// -->
</script>
<script type="text/javascript"><!--
var map = new Map();
map.put("re","redhacker");
map.put("do","douguoqiang");
map.put("gq","dougq");
alert("map的大小为:" + map.size())
alert("key为re的map中存储的对象为:" + map.get("do"));
map.remove("re");
alert("移除key为re的对象后,获取key为re的map中存储的对象为:" + map.get("do"));
alert("map移除一个元素后的大小为:" + map.size());
alert("map是否是一个空map:" + map.isEmpty());
// -->
</script>
分享到:
相关推荐
map转json
本文实例讲述了JS自定义对象实现Java中Map对象功能的方法。分享给大家供大家参考。具体分析如下: Java中有集合,Map等对象存储工具类,这些对象使用简易,但是在JavaScript中,你只能使用Array对象。 这里我创建一...
* MAP对象,实现MAP功能 * * 接口: * size() 获取MAP元素个数 * isEmpty() 判断MAP是否为空 * clear() 删除MAP所有元素 * put(key, value) 向MAP中增加元素(key, value) * ...
js终于有了自己的Map了,类似与java的Map对象。此文件是源代码,亲测有类似于java的Map对象的类似方法:put(key,value)、get(key)、keys()、values()、size()、isEmpty()、remove(key)、clear()、element(index)、...
下面的方法一语方法二都是经过软件开发网小编测试并运行的 方法一: json格式定义 <!DOCTYPE ...<... <...
前几天项目上想用map集合一样的东西,简单拿对象拼了一下子,今天闲的慌实现一下 大家不要见笑 代码 var Map = function (){ /************基础变量**************/ var hashmap = {}; var keys = []; var vals...
让javascript像代码一样使用map对象吧
ECMAScript 6以前,在JavaScript中实现“键/值”式存储可以使用Object来方便高效地完成,也就是使用对象属性作为键,再使用属性来引用值。但这种实现并非没有问题,为此TC39委员会专门为“键/值”存储定义了一个...
详解JS对象遍历的顺序问题 可能有些同学听过在 JavaScript 中遍历对象顺序不固定的这一说法。事实上,这个说法不是特别准确。 对待遍历顺序,对象有一套自己既定的规则,在此规则下呢,对象的遍历顺序会受插入...
代码如下: /* * MAP对象,实现MAP功能 * * 接口: * size() 获取MAP元素个数 * isEmpty() 判断MAP是否为空 * clear() 删除MAP所有元素 * put(key, value) 向MAP中增加元素(key, value) * remove(key) 删除指定KEY的...
代码如下:/* * MAP对象,实现MAP功能 * * 接口: * size() 获取MAP元素个数 * isEmpty() 判断MAP是否为空 * clear() 删除MAP所有元素 * put(key, value) 向MAP中增加元素(key, value) * remove(key) ...
代码如下: var Map = function(){ this._entrys = new Array(); this.put = function(key, value){ if (key == null || key == undefined) { return; } var index = this._getIndex(key); if (index == -1) { var ...
1.新建了一个Map对象。 2.使用自定义的js对象。 3.使用了js的数组和对象。 4.加入了一个组合的算法。
js代码-块级作用域 解构赋值 对象静态化 数组 函数 Map 结构 Class 模块
文章主要讲JS Map对象的用法和如何手写Map,非常适合初步学习了JS的同学,适当的学会手写JS源码的技能,对JS理解和面试都有很大的帮助。大多数人都知道Map方法的使用,但是在网上对Map源码实现的文章很少,希望通过...
1、由后台action 传给...2、前台js 中先将结果json串转成对象 代码如下: var obj = eval(“(“+data+”)”); 3、遍历取list 中的对象 代码如下: for(var key in obj){ //第一层循环取到各个list var
用一千多行Java代码实现的斗地主游戏,后端使用的技术栈是Springboot+SpringCache+Websocket,项目中运用了Java基础及面向对象的各类技术,类、接口、对象、枚举、集合、Map、数组、排序、算法、缓存等都有使用........
* MAP对象,实现MAP功能 * * 接口: * size() 获取MAP元素个数 * isEmpty() 判断MAP是否为空 * clear() 删除MAP所有元素 * put(key, value) 向MAP中增加元素(key, value) * remove(key) 删除指定KEY的元素,成功...
工程项目是cocos create的,其他项目直接调用 /assets/Script/AutoFindPath.js下的getPath即可参数和返回值如下, 另外点对象的结构如下(x: 0, y: 0) /** * * @param {object} bron 出生点 * @param {object} ...
如果在c#中,我们只要用hashtable或者dictionary根据key取value的特性,就可以很轻松地实现这个功能了。其实我们稍作处理,js也可以实现类似... 2、实现代码 代码如下: // js哈希表 function HashTable() { this.ObjArr