js中的map
?
看到网上很多的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 = {};// putvar key = "key1";var value = "value1";map[key] = value;// getalert(map[key]);if("key1" in map) { //判断是否存在? alert("OK");}// 删除delete map["key1"]; // 遍历for(key in map){ alert(key + map[key]);}?
还是这个好用!
?
原理:
?
Array本来就是一个 hashmap
?