新建一个hashMap.js文件,文件内容如下:
Array.prototype.remove = function(s) {
for (var i = 0; i < this.length; i++) {
if (s == this[i])
this.splice(i, 1);
}
}
function HashMap() {
this.keys = new Array();
this.data = new Object();
this.put = function(key, value) {
if(this.data[key] == null){
this.keys.push(key);
}
this.data[key] = value;
};
this.get = function(key) {
return this.data[key];
};
this.remove = function(key) {
this.keys.remove(key);
this.data[key] = null;
};
this.each = function(fn){
if(typeof fn != 'function'){
return;
}
var len = this.keys.length;
for(var i=0;i<len;i++){
var k = this.keys[i];
fn(k,this.data[k],i);
}
};
this.entrys = function() {
var len = this.keys.length;
var entrys = new Array(len);
for (var i = 0; i < len; i++) {
entrys[i] = {
key : this.keys[i],
value : this.data[i]
};
}
return entrys;
};
this.isEmpty = function() {
return this.keys.length == 0;
};
this.size = function(){
return this.keys.length;
};
this.toString = function(){
var s = "{";
for(var i=0;i<this.keys.length;i++,s+=','){
var k = this.keys[i];
s += k+"="+this.data[k];
}
s+="}";
return s;
};
}
function testMap(){
var m = new HashMap();
m.put('key1','Comtop');
m.put('key2','key2内容');
m.put('key3','key3内容');
alert("init:"+m);
m.put('key1','key1xxxx');
alert("set key1:"+m);
m.remove("key2");
alert("remove key2: "+m);
var s ="";
m.each(function(key,value,index){
s += index+":"+ key+"="+value+"\n";
});
alert(s);
}
最底下有个testMap函数是可以调用的测试的例子。很简单方便。所以记录了下来
分享到:
相关推荐
用js代码实现java中hashmap 的所有功能
NULL 博文链接:https://mox-sir.iteye.com/blog/2124644
一个用于js里面 用javascript实现的HashMap类
模拟java中的HashMap类js类对象,可以与js的Array类对象配合使用
理解面向对象后的代码抽取,HashMap的二次封装,总之目的减少点代码工作量,见代码示例
Javascript实现和操作HashMap,压缩包里面有hashmap定义和操作的例子
javaScript模拟的HashMap数据结构,可以方便的put和get。几乎和Java中HashMap类的功能一模一样。非常好用的!
backbee / js-hashmap JavaScript哈希图实现##安装:bower install bb-js-hashmap --save ##特性: HashMap . length 返回HashMap对象中键/值对的数量。 HashMap . size 返回HashMap对象中键/值对的数量。 ## ...
前端开源库-hashmaphashmap,用于javascript的hashmap类
NULL 博文链接:https://brucexx.iteye.com/blog/491449
hashmap实例 hashmap实例hashmap实例hashmap实例
HashMap介绍和使用
hashmap相关的面试题
NULL 博文链接:https://heisetoufa.iteye.com/blog/342983
HashMap数据结构,HashMap的构造方法,HashMap的put,HashMap的get
JavaScript 中的 HashMap 实现。 就像在 Java 中一样,但不是。 用法 var capacity = 16 , loadFactor = 0.75 , // default value hashMap = new HashMap ( capacity , loadFactor ) ; hashMap . put ( "someKey...
HashMap存放.doc
要求:从键盘输入5本书的名称、单价、购买数量,将这些信息存入一个HashMap,然后将该HashMap作为参数调用方法getSum(HashMap books),该方法用于计算书的总价并返回。【说明:键盘输入可以使用Scanner类】
flex 封装的一个HashMap。使用挺方便的。(免积分下载)
HashMap是一个散列桶(数组和链表),它存储的内容是键值对(key-value)映射HashMap采用了数组和链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改HashMap是非synchronized,所以HashMap很快...