看到网上很多的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
分享到:
相关推荐
### 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
javascript 模拟 java中的 List,Map js文件为 js/utils.js IE6.0 测试通过 <br>List: add(var obj) //添加一个元素 remove(var index) //删除一个元素 get(var index) //获取一个元素 remove...
与数组不同,Map的键是有序的,并且提供了几个方便的方法,如set(key, value)用于设置键值对,get(key)用于获取键对应的值,delete(key)用于删除键值对,size属性用于获取Map中键值对的数量。`map.js` 文件可能会...
总结,`Map`在JavaScript中扮演着重要的角色,特别是在处理复杂数据结构、缓存、对象关系等方面。理解并熟练运用`Map`,能有效提升我们的编程效率和代码质量。通过实践编写自己的`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文件就是...
- `set(key, value)`: 向Map中添加一个键值对。 - `get(key)`: 通过键获取对应的值,如果键不存在则返回undefined。 - `has(key)`: 检查Map中是否存在指定的键。 - `delete(key)`: 删除指定键的键值对。 - `...
不同于对象,Map中的元素会按照插入的顺序进行迭代。例如,在实现一个缓存系统时,可以使用Map来存储最近访问的项目,并保持它们的访问顺序。 此外,Map可以与其他数据结构结合使用,如Set。例如,我们可以创建一个...
js中使用map形式存取遍历
在JavaScript中,`Map`是一种内置的数据结构,用于存储键值对。相比于对象,`Map`的优势在于它可以使用任何类型的值作为键,包括对象。在本文中,我们将深入探讨一种高性能的JavaScript `Map`实现,它基于JSON,具有...
由于原本把需要的数据存放到cookie中,但是cookie不能的key不能自动转译中文,出现乱码,后台服务器报错:Control character in cookie value or attribute.所以改为自定义map集合
在JavaScript中,`Map`集合是一个内置的数据结构,用于存储键值对,它与对象不同,因为对象的键必须是字符串或符号,而`Map`则可以使用任何可哈希的值作为键。这篇博客文章可能探讨了如何通过自定义方式实现一个类似...
js Map对象封装 和 java 的使用方法一样.
自定义javascript的Map类,使用习惯完全依据于java的map使用习惯编写,java中map的用法基本一样,导入包即可使用
* put(key, value) 向MAP中增加元素(key, value) * remove(key) 删除指定KEY的元素,成功返回True,失败返回False * get(key) 获取指定KEY的元素值VALUE,失败返回NULL * element(index) 获取指定索引的元素...
使用js实现map工具类
在JavaScript的世界里,`Map`对象是一个非常重要的数据结构,它允许我们存储键值对,其中键可以是任何类型的...在阅读`MapUtil.js`源码时,可以关注这些方法的实现细节,理解它们如何优化和扩展了原生`Map`对象的能力。
在这种情况下,如果需要在这些浏览器中使用`map`功能,可以引入polyfill,或者使用Underscore.js、Lodash等库,它们提供了兼容旧环境的`map`实现。 3. `map`与`for`循环的性能比较: 在大多数情况下,`for`循环可能...
- `size()`:返回Map中的元素数量。 - `isEmpty()`:判断Map是否为空。 - `clear()`:清空Map的所有元素。 - `put(key, value)`:向Map中添加或更新键值对。 - `remove(key)`:移除指定键的元素,并返回操作结果。 -...