gpt4 book ai didi

javascript - 如何实现 HashMap

转载 作者:行者123 更新时间:2023-12-03 07:15:42 26 4
gpt4 key购买 nike

我使用 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,3,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))
}

关于javascript - 如何实现 HashMap ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36436524/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com