2010-02-26 12 views

risposta

19

Dai un'occhiata allo JS.Set.

La classe JS.Set può essere utilizzata per modellare raccolte di oggetti univoci. Un set si assicura che non ci siano duplicati tra i suoi membri, e ti permette di usare metodi di uguaglianza personalizzati per il confronto e l'operatore === di JavaScript.

Contiene metodi come unione, intersezione, unione, ecc ...

7

Se volete solo avere accesso a semplice unione, funzioni di intersezione, si potrebbe anche provare Underscore.js 's funzioni built-in Array . Fornisce anche molte utilità più utili per la manipolazione dei dati, quindi provatelo se non lo avete.

3

Check out setjs. L'API fornisce operazioni di base e la libreria è immutabile per progettazione.

Disclaimer: I'm the author.

3

I set sono ora nativi in ​​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]); 

Questo funziona con transpiling utilizzando babel o solo in modo nativo in Firefox.

1

immutable-js esporre una potente struttura dati set.

Un semplice esempio per node.js, che è possibile vedere nell'opera 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)) 
Problemi correlati