在javascript/jQuery中设置Java的数据结构

Suv*_*kar 23 javascript jquery

有没有办法在javascript中创建像java这样的Set数据结构(Unique Collections)?

Mat*_*hen 46

对于一组字符串,我只使用值为true的对象.

var obj = {};
obj["foo"] = true;
obj["bar"] = true;

if(obj["foo"])
{
  // foo in set
}
Run Code Online (Sandbox Code Playgroud)

这基本上是HashSet在Java中的工作方式,假设JavaScript对象是作为哈希表实现的(这是典型的).

  • @Eran,`delete obj ["foo"]`或`delete obj.foo`. (8认同)

Tim*_*own 9

我编写了一个类似于Java的HashSet的哈希集的JavaScript实现.它允许任何对象(不仅仅是字符串)用作集合成员.它基于哈希表的键.

http://code.google.com/p/jshashtable/downloads/list

我保证,文档将很快发布.现在,源代码应该非常清楚地给你API,这是一个例子:

var s = new HashSet();
var o1 = {name: "One"}, o2 = {name: "Two"};
s.add(o1);
s.add(o2);
s.add(o2);
s.values(); // Array containing o1 and a single reference to o2
Run Code Online (Sandbox Code Playgroud)