<分区>
Multimap是一种将键映射到值列表/值集的数据结构。
有没有好的、不显眼的js库实现这个数据结构?
编辑 - 我知道我可以自己“轻松”实现它,但我相信将它作为一个独立的抽象是一件好事,所以这个问题的答案不应该是“自己实现它” ".
<分区>
Multimap是一种将键映射到值列表/值集的数据结构。
有没有好的、不显眼的js库实现这个数据结构?
编辑 - 我知道我可以自己“轻松”实现它,但我相信将它作为一个独立的抽象是一件好事,所以这个问题的答案不应该是“自己实现它” ".
最佳答案
由于@Esailija 仅将其作为评论发布,我会将其作为可能的答案提交。使用数组作为值的对象是可行的方法,并通过 Underscore.js 操作值.
var map = {
foo: [1, 2, 3],
bar: ['1', '2', '3']
};
map.foo = _.union(map.foo, [1, 4]); // map.foo -> [1, 2, 3, 4]
虽然这显然取决于您的需求,但这种方法为您提供了无处不在的通用数据结构,以及一个可以很好地处理集合和列表的库。对于大多数用途,这种方法的性能应该很好(只是不要每秒执行数百万次)。
关于javascript - 是否有 Multimap 数据结构的 javascript 等价物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11329244/