1.0.5 • Published 1 year ago

js-collection-operations v1.0.5

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

js-collection-operations

js-collection-operations lets you easily find union, intersection, difference, symmetric difference and includes of JavaScript Arrays, Sets and Array-like Objects. Also you can find map and filter functions for Sets and Array-like Objects.

You may use this library both in Browser and in NodeJS environment.

Installation

Using npm:

  npm i js-collection-operations

or using yarn:

  yarn add js-collection-operations

Contents

Usage

union

import { union } from 'js-collection-operations';

union([1, 2, 3], [2, 3, 4, 5]); // [1, 2, 3, 4, 5]

union(new Set(['a', 'b', 'c'], new Set('c', 'd'))); // Set(4) {'a', 'b', 'c', 'd'}

union({ 0: 'foo', 1: 'bar', length: 2 }, { 0: 'hello', length: 1 }); // ['foo', 'bar', 'hello']

intersection

import { intersection } from 'js-collection-operations';

intersection([1, 2, 3], [2, 3, 4, 5]); // [2, 3]

intersection(new Set(['a', 'b', 'c'], new Set('c', 'd'))); // Set(1) {'c'}

intersection({ 0: 'foo', 1: 'bar', length: 2 }, { 0: 'foo', length: 1 }); // ['foo']

difference

import { difference } from 'js-collection-operations';

difference([1, 2, 3], [2, 3, 4, 5]); // [1]

difference(new Set(['a', 'b', 'c'], new Set('c', 'd'))); // Set(2) {'a', 'b'}

difference({ 0: 'foo', 1: 'bar', length: 2 }, { 0: 'foo', length: 1 }); // ['bar']

symmetric difference

import { symmetricDifference as symDiff } from 'js-collection-operations';

symDiff([1, 2, 3], [2, 3, 4, 5]); // [1, 4, 5]

symDiff(new Set(['a', 'b', 'c'], new Set('c', 'd'))); // Set(3) {'a', 'b', 'd'}

symDiff({ 0: 'q', 1: 'w' length: 2 }, { 0: 'w', 1: 'e', length: 2 }); // ['q', 'e']

includes

import { includes } from 'js-collection-operations';

includes([1, 2, 3], [3, 1]); // true

includes(new Set(['a', 'b', 'c'], new Set('a', 'd'))); // false

includes({ 0: 'foo', 1: 'bar', length: 2 }, { 0: 'foo', length: 1 }); // true

map

import { map } from 'js-collection-operations';

map(new Set([1, 2, 3]), (value) => value * 2); // Set(3) {2, 4, 6}

map({ 0: 'a', 1: 'b', length: 2 }, (value) => value.toUpperCase()); // ['A', 'B']

filter

import { filter } from 'js-collection-operations';

filter(new Set([1, 2, 3, 4]), (value) => value % 2 === 1); // Set(2) {1, 3}

filter({ 0: 'a', 1: 'b', 2: 'c', 3: 'd', length: 4 }, (value) => value < 'c'); // ['a', 'b']

Bug Reports & Feature Requests

Please use the issue tracker to report any bugs or file feature requests.