是否有类似Multimap数据结构的javascript?

时间:2012-07-04 12:36:13

标签: javascript data-structures multimap

Multimap是一种将键映射到列表/值集的数据结构。

是否有一个很好的,不显眼的js库来实现这个数据结构?

编辑 - 我知道我可以“轻松”自己实现它,但我相信将它作为一个独立的抽象是一件好事,所以这些问题的答案不应该“只是自己实现它” ”

1 个答案:

答案 0 :(得分:3)

由于@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]

虽然它显然取决于您的需求,但这种方法为您提供了遍布各处的通用数据结构,以及一个与集合和列表非常协作的库。在大多数情况下,这种方法的表现应该没问题(只是不要每秒数百万次)。