Подтвердить что ты не робот

Есть ли библиотека для набора данных в Javascript?

Поскольку у Javascript нет встроенного набора данных, кто-нибудь сталкивается с приличной библиотекой для наборов и задает операции, такие как объединение, пересечение и т.д.

4b9b3361

Ответ 1

Посмотрите JS.Set.

Класс JS.Set может использоваться для моделирования коллекций уникальных объектов. Набор гарантирует, что среди его членов нет дубликатов, и это позволяет использовать пользовательские методы равенства для сравнения, а также JavaScripts === operator.

Он содержит такие методы, как объединение, пересечение, слияние и т.д.

Ответ 2

Если вы просто хотите получить доступ к простым функциям объединения, пересечения, вы также можете попробовать Underscore.js встроенные функции массива. Он также предоставляет множество полезных утилит для манипулирования данными, поэтому попробуйте, если вы этого не сделали.

Ответ 3

Отъезд setjs. API обеспечивает основные операции, и библиотека неизменна по дизайну.

Отказ от ответственности: я автор.

Ответ 4

Наборы теперь являются родными в 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.

Ответ 5

immutable-js выставить мощный set структура данных.

Простой пример для node.js, который вы можете увидеть в работе здесь.

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))