[英]How to put object in a HashMap in js?
I create Simple HashMap
like this , but When I put an object
into this map as a value
, I can't call object's function
when I get it from map , I find that the object
was convert to string
by toString
function. 我像这样创建Simple
HashMap
,但是当我将一个object
作为一个value
放入这个map时,我从map中得到它时无法调用object's function
,我发现该object
是通过toString
函数转换为string
的。 So what should I do to put the object itself
rather than a string into map? 那么我应该怎样做才能将
object itself
而不是字符串放入地图中?
var g_itemMap =
{
put : function(key,value){this[key] = value},
get : function(key){return this[key]},
contains : function(key){return this.get(key) == null?false:true},
remove : function(key){delete this[key]}
}
I put the object like this: 我把对象放在这样:
g_itemMap.put(1, object);
And get it: 得到它:
var object = g_itemMap.get(1);
When I call it's function , it went wrong: 当我调用它的功能时,它出错了:
object.somefunction();
alert can display object: 警报可以显示对象:
[object BitmapItem]
This code looks like working for me. 这段代码看起来像是在为我工作。 You can try this;
你可以试试这个;
var g_itemMap =
{
put : function(key,value){this[key] = value},
get : function(key){return this[key]},
contains : function(key){return this.get(key) == null?false:true},
remove : function(key){delete this[key]}
}
var object =
{
objectfunction: function(){
console.log('objectfunction called')
}
}
g_itemMap.put(1, object);
var o = g_itemMap.get(1);
o.objectfunction();
Fiddle link: http://jsfiddle.net/hCH8k/ 小提琴链接: http : //jsfiddle.net/hCH8k/
var HashMap = new Object();
HashMap[Key1] = Obj1;
HashMap[Key2] = Obj2;
function get(k)
{
console.log(HashMap[k]);
}
or simply you can use 或者只是你可以使用
var HashMap = {"Key1":"value1","Key2":"value2"}
function get(k)
{
console.log(HashMap[k]);
}
If I try 如果我试试
var object = { a: function() { alert('b'); } };
var g_itemMap =
{
put : function(key,value){this[key] = value},
get : function(key){return this[key]},
contains : function(key){return this.get(key) == null?false:true},
remove : function(key){delete this[key]}
}
g_itemMap.put(1, object);
var object2 = g_itemMap.get(1);
object2.a();
does alert('b'), which looks correct, to me... :-) 警告('b'),看起来是正确的,给我...... :-)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.