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

JS中的Map

 
阅读更多
源:http://blog.sina.com.cn/s/blog_7e9c5b6801016oyz.html
评:
/**
* json convert to map
* @param str
* @param map
*/
function json2Map(str, map) {
var obj = eval('(' + str + ')');

for(var k in obj) {
if(typeof(obj[k])=='function') {
continue;
} else {
map.put(k, obj[k]);
}
}
}

/**
* design js map
*/
var map = new Map();
map.put("a", "aaa");
map.put("b","bbb");
map.put("cc","cccc");
map.put("c","ccc");
map.remove("cc");
var array = map.keySet();
for(var i in array) {
document.write("key:(" + array[i] +") <br>value: ("+map.get(array[i])+") <br>");
}



function Map(){
this.container = new Object();
}


Map.prototype.put = function(key, value){
this.container[key] = value;
}


Map.prototype.get = function(key){
return this.container[key];
}


Map.prototype.keySet = function() {
var keyset = new Array();
var count = 0;
for (var key in this.container) {
// 跳过object的extend函数
if (key == 'extend') {
continue;
}
keyset[count] = key;
count++;
}
return keyset;
}


Map.prototype.size = function() {
var count = 0;
for (var key in this.container) {
// 跳过object的extend函数
if (key == 'extend'){
continue;
}
count++;
}
return count;
}


Map.prototype.remove = function(key) {
delete this.container[key];
}


Map.prototype.toString = function(){
var str = "";
for (var i = 0, keys = this.keySet(), len = keys.length; i < len; i++) {
str = str + keys[i] + "=" + this.container[keys[i]] + ";\n";
}
return str;
}
分享到:
评论

相关推荐

    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 测试通过 &lt;br&gt;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`实现,有助于深入理解其底层...

    js 实现map的方式

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

    popper.min.js.map

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

    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