【问题标题】:Is there a javascript equivalent of the Multimap data structure? [closed]是否有与 Multimap 数据结构等效的 javascript? [关闭]
【发布时间】:2012-07-04 12:36:13
【问题描述】:

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

有没有实现这种数据结构的好的、不显眼的 js 库?

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

【问题讨论】:

标签: javascript data-structures multimap


【解决方案1】:

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

虽然这显然取决于您的需求,但这种方法为您提供了无处不在的通用数据结构,以及一个可以很好地与集合和列表一起工作的库。对于大多数目的,这种方法的性能应该很好(只是不要每秒执行数百万次)。

【讨论】:

  • 查看我的评论:使用 List 和 Array 实现它的能力并不是没有“首选”多图类的借口。当然,我可能会使用它而不是从头开始编写一个,但如果我已经使用的库(例如 jQuery)有一个多映射类,我宁愿使用它也不愿自己玩数组。
猜你喜欢
  • 2013-06-24
  • 2010-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-02
  • 2013-06-28
  • 1970-01-01
相关资源
最近更新 更多