如何实现hashmap
how to implement hashmap
我使用hashmap来存储映射的键值对。请建议我,如果他们是使用NOdejs做同样事情的替代方法。
var HashMap=require('hashmap');
var map=new HashMap();
map.set("amit",[1,2]);
map.set("amit",[3,4]);
console.log(map.get("amit"));
在控制台上它打印[3,4],我想要[1,2,4]。我该如何处理这个问题。如果值变量中的值重复,那么我还想增加与相同键对应的值的计数。
每次对该键调用set
时,都会覆盖amit
键的值。除非hashmap
中有某些特定的API支持,否则最好在每个set
调用上连接以前的值。
考虑:
var HashMap = require("hashmap")
var map = new HashMap()
map.set('amit', [1,2])
// Concat previous value with [3, 4]
map.set('amit', map.get('amit').concat([3,4]))
console.log(map.get('amit'))
// [1, 2, 3, 4]
您也可以对此进行抽象。下面是一个简单的示例,您很可能希望在实际用例中进一步扩展它。
// concatSet('foo', [1, 2])
// concatSet('foo', [3, 4])
// console.log(map.get('foo')) => [1, 2, 3, 4]
function concatSet(key, value) {
// empty array if not exists
var prevValue = map.get(key) || []
return map.set(key, prevValue.concat(value))
}
您必须循环映射。
map.set(1, "test 1");
map.set(2, "test 2");
map.set(3, "test 3");
map.forEach(function(value, key) {
console.log(key + " : " + value);
});
https://www.npmjs.com/package/hashmap
相关文章:
- 如何使用动画实现纸张推车
- 客户端服务器REST API captcha实现
- 如何实现此布局
- Meteor忘记了密码的实现
- 使用Native Sockets在Android中实现WebSockets
- 在样板文件中实现Ajax
- instanceof是如何在JavaScript中实现的
- 如何正确实现Jquery多选小部件
- 实现一个建立在google.com之上的自定义搜索引擎
- 多个组件是如何实现的
- window.location使用jquery mobile实现chrome跳转
- 如何在OpenERP中实现网络摄像头
- Node.js使用Series函数(模式?)实现流控制时出现意外结果
- javascript加密实现,包括可信否认
- 实现比较方法的最佳实践是什么;s的比较类型是在运行时选择的
- 如何让程序员在javascript中实现正确的回调
- 如何使用自定义辅助对象(handler)实现嵌套的每个循环
- AngularJS智能表全局配置实现
- 如何实现hashmap
- 如何在java脚本中实现hashmap