2010-02-26 15 views

Odpowiedz

19

Spójrz na JS.Set.

Klasy JS.Set można użyć do modelowania kolekcji unikalnych obiektów. Zestaw zapewnia, że ​​nie ma żadnych duplikatów wśród jego członków, i pozwala na użycie niestandardowych metod równości dla porównania, a także operatora === JavaScript.

Zawiera metod, takich jak unia, skrzyżowanie, łączenia, etc ...

7

Jeśli chcesz po prostu mieć dostęp do prostych funkcji unii, przecięcia, można także spróbować Underscore.js „s wbudowanych funkcji Array . Zapewnia również wiele bardziej użytecznych narzędzi do manipulacji danymi, więc spróbuj, jeśli nie masz.

3

Sprawdź setjs. Interfejs API zapewnia podstawowe operacje, a biblioteka jest niezmienna z założenia.

Nota prawna: Jestem autorem.

3

Zestawy są teraz natywne w 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]); 

Działa to z transpozycją przy użyciu babel lub tylko w programie Firefox.

1

immutable-js ujawnić potężną strukturę danych set.

Prosty przykład dla pliku node.js, który można zobaczyć w pracy 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)) 
Powiązane problemy