Javascript是否支持集合(仅包含唯一对象的列表)?
我找到了这个链接,但据我所知,JS中的foreach不是每个浏览器都支持。
你的键是字符串吗?
每个JavaScript对象都是一个映射,这意味着它可以表示一组。
如您提到的页面所示,每个对象只接受每个键(属性名称)的一个副本。键/属性的值并不重要。
jshashtable 可以让您将任何对象存储为键,并使用与您提供的链接相同的模式。此外,它还提供了一个获取键数组的方法,然后您可以对其进行迭代。它还具有良好的跨浏览器支持,因此应该很好地适应任何环境。
HashSet
包装器:http://code.google.com/p/jshashtable/downloads/detail?name=jshashset.js&can=2&q=#makechanges - Tim Downvar mySet = new Set([1, 2, 3, 2, 1]); // => [1, 2, 3]
console.log(mySet.size);
console.log(mySet.has(3));
mySet.forEach(function(x){console.log(x)});
你可能还记得 Array.forEach()
,但它在旧版 Opera 和所有 IE 浏览器中都不被支持。而 for (var x in ...)
则是据我所知 JS 的“本地”部分,并且被所有浏览器支持。
JavaScript 支持 Set。这里是到 canIuse 网站的链接。它被 Chrome、Edge、Safari、Firefox、Opera 甚至 IE 支持。要声明 set,你可以使用 Set() 构造函数。
let set = new Set();
set.add("John);
通过这种方式,您可以使用集合。