2010-02-26 82 views

回答

19

看一看JS.Set

JS.Set类可用于建模唯一对象的集合。一组确保其成员之间不存在重复,并且它允许您使用自定义等式方法进行比较以及JavaScript的===运算符。

它包含诸如集,交集,合并等方法...

7

如果你只是想有机会获得简单集,交集功能,你也可以尝试Underscore.js的内置阵列功能。它还提供了许多用于数据操作的更有用的实用程序,所以如果没有,请尝试。

3

退房setjs。该API提供基本操作,并且该库在设计上是不可变的。

声明:我是作者。

3

集现在在ES2015原生。

let a = new Set([1,2,3]); 
let b = new Set([1,2,4]); 
let intersect = new Set([...a].filter(i => b.has(i))); 
let union = new Set([...a, ...b]); 

这适用于使用babel或只是本身在Firefox transpiling。

1

immutable-js暴露了一个强大的数据结构set

node.js的一个简单示例,您可以在工作中看到here

im = require("immutable") 

const mySet = im.Set([1, "a", {value: Symbol()}]) 

// the .add and .delete methods do not modify mySet, but return a new set instance instead. 
const newSet = mySet 
       .add(42) 
       .delete(1) 

console.info("Does mySet have 42?", mySet.has(42)) 
console.info("Does newSet have 42?", newSet.has(42)) 
相关问题