`
mtnt2008
  • 浏览: 369371 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

js中的map

 
阅读更多

 

看到网上很多的js的map实现,也自己实现了一个

 

// map实现
var map = new Object();
map.put = function (key,value){
	var s = "map." + key + ' = "' + value + '";';
	eval(s);
}
map.get = function(key){
	var v = eval("map." + key + ";");
	return v;
}

map.keySet = function(){
	var keySets = new Array();
	for(key in map){
		if(!(typeof(map[key])=="function")){
			keySets.push(key);
		}
	}
	return keySets;
}

/*
 * use example
 */
 /*
map.put("a","Tom");
map.put("b","Nick");
var keys = map.keySet();
for(i in keys){
    key = keys[i];
    alert("key:" + key + "  value:" + map.get(key));
}
* /
/*
 * end example
 */
 

现在,看到了关联数组,可以这用才模拟map

 

var map = {};

// put
var key = "key1";
var value = "value1";
map[key] = value;

// get
alert(map[key]);

if("key1" in map) { //判断是否存在
  alert("OK");
}

// 删除
delete map["key1"]; 

// 遍历
for(key in map){
    alert(key + map[key]);
}
 

还是这个好用!

 

原理:

 

Array本来就是一个 hashmap

 

分享到:
评论
2 楼 GreatCoder 2014-07-24  
1 楼 heartofthesea 2012-10-30  
试试

相关推荐

    js中Map应用

    ### JavaScript中的Map应用 在JavaScript中,`Map`对象是一种内置的数据结构,它保存键值对,并且可以按插入顺序记住元素。与普通的JavaScript对象不同的是,`Map`的键可以是任何类型的值(不仅仅是字符串或符号)...

    javascript 中Map的使用

    - `has(key)`:判断Map中是否存在指定键。 - `delete(key)`:删除指定键的键值对。 - `clear()`:清空Map中的所有键值对。 3. 属性和方法: - `size`:返回Map中键值对的数量。 - `forEach(callbackFn[, ...

    js-map js-map

    js map js map js map js map js map js 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实现Array(数组)和Map

    与数组不同,Map的键是有序的,并且提供了几个方便的方法,如set(key, value)用于设置键值对,get(key)用于获取键对应的值,delete(key)用于删除键值对,size属性用于获取Map中键值对的数量。`map.js` 文件可能会...

    利用js实现Map

    总结,`Map`在JavaScript中扮演着重要的角色,特别是在处理复杂数据结构、缓存、对象关系等方面。理解并熟练运用`Map`,能有效提升我们的编程效率和代码质量。通过实践编写自己的`Map`实现,有助于深入理解其底层...

    popper.min.js.map

    包含:popper.min.js.map、popper.min.js....其实可以直接输入网址<script src="https://cdn.staticfile.org/popper.js/1.15.0/umd/popper.min.js"></script> 中的网址另存为,或者直接复制网页代码另存为,map文件就是...

    js 实现map的方式

    - `set(key, value)`: 向Map中添加一个键值对。 - `get(key)`: 通过键获取对应的值,如果键不存在则返回undefined。 - `has(key)`: 检查Map中是否存在指定的键。 - `delete(key)`: 删除指定键的键值对。 - `...

    js实现map用法

    不同于对象,Map中的元素会按照插入的顺序进行迭代。例如,在实现一个缓存系统时,可以使用Map来存储最近访问的项目,并保持它们的访问顺序。 此外,Map可以与其他数据结构结合使用,如Set。例如,我们可以创建一个...

    js中使用map形式存取遍历

    js中使用map形式存取遍历

    javascript的Map实现(高性能)

    在JavaScript中,`Map`是一种内置的数据结构,用于存储键值对。相比于对象,`Map`的优势在于它可以使用任何类型的值作为键,包括对象。在本文中,我们将深入探讨一种高性能的JavaScript `Map`实现,它基于JSON,具有...

    js自定义map集合

    由于原本把需要的数据存放到cookie中,但是cookie不能的key不能自动转译中文,出现乱码,后台服务器报错:Control character in cookie value or attribute.所以改为自定义map集合

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

    在JavaScript中,`Map`集合是一个内置的数据结构,用于存储键值对,它与对象不同,因为对象的键必须是字符串或符号,而`Map`则可以使用任何可哈希的值作为键。这篇博客文章可能探讨了如何通过自定义方式实现一个类似...

    js Map对象封装

    js Map对象封装 和 java 的使用方法一样.

    自定义javascript的Map类

    自定义javascript的Map类,使用习惯完全依据于java的map使用习惯编写,java中map的用法基本一样,导入包即可使用

    javascript(map功能)

    * put(key, value) 向MAP中增加元素(key, value) * remove(key) 删除指定KEY的元素,成功返回True,失败返回False * get(key) 获取指定KEY的元素值VALUE,失败返回NULL * element(index) 获取指定索引的元素...

    使用js实现map功能

    使用js实现map工具类

    js Map 工具类 MapUtil

    在JavaScript的世界里,`Map`对象是一个非常重要的数据结构,它允许我们存储键值对,其中键可以是任何类型的...在阅读`MapUtil.js`源码时,可以关注这些方法的实现细节,理解它们如何优化和扩展了原生`Map`对象的能力。

    理解javascript中Map代替循环

    在这种情况下,如果需要在这些浏览器中使用`map`功能,可以引入polyfill,或者使用Underscore.js、Lodash等库,它们提供了兼容旧环境的`map`实现。 3. `map`与`for`循环的性能比较: 在大多数情况下,`for`循环可能...

    在JavaScript中实现map对象

    - `size()`:返回Map中的元素数量。 - `isEmpty()`:判断Map是否为空。 - `clear()`:清空Map的所有元素。 - `put(key, value)`:向Map中添加或更新键值对。 - `remove(key)`:移除指定键的元素,并返回操作结果。 -...

Global site tag (gtag.js) - Google Analytics