<script language="javascript"> function HashMap() { /** Map 大小 **/ var size = 0; /** 对象 **/ var entry = new Object(); /** 存 **/ this.put = function (key , value) { if(!this.containsKey(key)) { size ++ ; } entry[key] = value; } /** 取 **/ this.get = function (key) { if( this.containsKey(key) ) { return entry[key]; } else { return null; } } /** 删除 **/ this.remove = function ( key ) { if( delete entry[key] ) { size --; } } /** 是否包含 Key **/ this.containsKey = function ( key ) { return (key in entry); } /** 是否包含 Value **/ this.containsValue = function ( value ) { for(var prop in entry) { if(entry[prop] == value) { return true; } } return false; } /** 所有 Value **/ this.values = function () { var values = new Array(size); for(var prop in entry) { values.push(entry[prop]); } return values; } /** 所有 Key **/ this.keys = function () { var keys = new Array(size); for(var prop in entry) { keys.push(prop); } return keys; } /** Map Size **/ this.size = function () { return size; } } var map = new HashMap(); /* map.put("A","1"); map.put("B","2"); map.put("A","5"); map.put("C","3"); map.put("A","4"); */ /* alert(map.containsKey("XX")); alert(map.size()); alert(map.get("A")); alert(map.get("XX")); map.remove("A"); alert(map.size()); alert(map.get("A")); */ /** 同时也可以把对象作为 Key **/ /* var arrayKey = new Array("1","2","3","4"); var arrayValue = new Array("A","B","C","D"); map.put(arrayKey,arrayValue); var value = map.get(arrayKey); for(var i = 0 ; i < value.length ; i++) { //alert(value[i]); } */ /** 把对象做为Key时 ,自动调用了该对象的 toString() 方法 其实最终还是以String对象为Key**/ /** 如果是自定义对象 那自己得重写 toString() 方法 否则 . 就是下面的结果 **/ function MyObject(name) { this.name = name; } /** function MyObject(name) { this.name = name; this.toString = function () { return this.name; } } **/ var object1 = new MyObject("小张"); var object2 = new MyObject("小名"); map.put(object1,"小张"); map.put(object2,"小名"); alert(map.get(object1)); alert(map.get(object2)); alert(map.size()); /** 运行结果 小名 小名 size = 1 **/ /** 如果改成复写toString()方法的对象 , 效果就完全不一样了 **/ </script>
相关推荐
javaScript,重写Array 类似java map的key,value键值对结构
* put(key, value) 向MAP中增加元素(key, value) * remove(key) 删除指定KEY的元素,成功返回True,失败返回False * get(key) 获取指定KEY的元素值VALUE,失败返回NULL * element(index) 获取指定索引的元素...
在Java中,Map是一种集合,用来存储Key-Value键值对的容器.根据键得到值,因此不允许键重复(重复了的覆盖),但允许值重复.JavaScript中的对象特性,就是不允许有相同的属性存在,和Java的Map非常的相似,所以可以利用这个...
JS中复合数组associative array和对象是等同的,判断一...另外使用key-value pair对复合数组或对象进行loop的时候应该使用: for(var key in ary) { [removed](key+” : “+ary[key]); } 以上这篇JavaScript判断数组是
javascript 模拟 java中的 List,Map js文件为 js/utils.js IE6.0 测试通过 <br>List: add(var obj) //添加一个元素 remove(var index) //删除一个元素 get(var index) //获取一个元素 remove...
* MAP对象,实现MAP功能 * * 接口: * size() 获取MAP元素个数 * isEmpty() 判断MAP是否为空 * clear() 删除MAP所有元素 * put(key, value) 向MAP中增加元素(key, value) * ...
代码如下: /* * MAP对象,实现MAP功能 * * 接口: * size() 获取MAP元素个数 * isEmpty() 判断MAP是否为空 * clear() 删除MAP所有元素 * put(key, value) 向MAP中增加元素(key, value) * remove(key) 删除指定KEY的...
前几天项目上想用map集合一样的东西,简单拿对象拼了一下子,今天闲的慌实现一下 大家不要见笑 代码 var Map = function (){ /************基础变量**************/ var hashmap = {}; var keys = []; var vals...
map-obj 将对象键和值映射到新对象安装$ npm install map-obj用法const mapObject = require ( 'map-obj' ) ;const newObject = mapObject ( { foo : 'bar' } , ( key , value ) => [ value , key ] ) ;//=> {bar: '...
map.entrySet() // 返回Entity[{key,value},{key,value}] map.containsKey('kevin') //返回:false function Map() { this.keys = new Array(); this.data = new Object(); /** * 放入一个键值对 * @par
本文实例讲述了Javascript实现的Map集合工具类。分享给大家供大家参考。具体如下: var Map = function(){ // 构造entry实体 var Entry = function(key, value){ this.key = key; this.value = value; } this...
本文实例讲述了javascript模拟map输出与去除重复项的方法。分享给大家供大家参考。具体方法如下: 1.Javascriptmap输出 function Map(){ // private var obj = {} ;// 空的对象容器,承装键值对 // put 方法 this....
backbee / js-hashmap JavaScript哈希图实现##安装:bower install bb-js-hashmap --save ##特性: HashMap . length 返回HashMap对象中键/值对的数量。 HashMap . size 返回HashMap对象中键/值对的数量。 ## ...
Hash Map通常在JavaScript中作为一个简单的来存储键值对的地方。... Set : function(key,value){this[key] = value}, Get : function(key){return this[key]}, Contains : function(key){return this.Get(key
// Orvar map = new ReactiveMap ( { key1 : 'value1' , key2 : 'value2'} ) ;map . set ( 'key' , 'value' ) ;map . set ( { key1 : 'value1' , key2 : 'value2'} ) ;map . get ( 'key' ) ; // Returns "value".map...
本文实例讲述了JS实现的自定义map方法。分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>www.jb51.net JS自定义map方法&...
Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理。 Map函数和Reduce函数是使用Javascript编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。 GridFS是...
哈希表的模式 ...map [ key ] = value 从数组构建邻接表 const graph = new Map ( ) for ( const [ u , v ] of prerequisites ) { if ( graph . has ( v ) ) { graph . get ( v ) . push ( u ) } else
渗透本地化 正在施工:construction:。 正在使用第一个可用版本...
javascript基本 通过编码课程学习JavaScript编程语言基础材料 ... Object adalah tipe data kompleks untuk menyimpan banyak data dengan format key-value. Key pada object harus berupa string.