Returns an array of unique values using strict equality for comparisons, maintaining the same order as the provided arrays.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

arr-union NPM version Build Status

Combines a list of arrays, returning a single array with unique values, using strict equality for comparisons.


Install with npm:

$ npm i arr-union --save


This library is 10-20 times faster and more performant than array-union.

See the benchmarks.

#1: five-arrays
  array-union x 511,121 ops/sec ±0.80% (96 runs sampled)
  arr-union x 5,716,039 ops/sec ±0.86% (93 runs sampled)

#2: ten-arrays
  array-union x 245,196 ops/sec ±0.69% (94 runs sampled)
  arr-union x 1,850,786 ops/sec ±0.84% (97 runs sampled)

#3: two-arrays
  array-union x 563,869 ops/sec ±0.97% (94 runs sampled)
  arr-union x 9,602,852 ops/sec ±0.87% (92 runs sampled)


var union = require('arr-union');

union(['a'], ['b', 'c'], ['d', 'e', 'f']);
//=> ['a', 'b', 'c', 'd', 'e', 'f']

Returns only unique elements:

union(['a', 'a'], ['b', 'c']);
//=> ['a', 'b', 'c']

Related projects

  • arr-diff: Returns an array with only the unique values from the first array, by excluding all… more | homepage
  • arr-filter: Faster alternative to javascript's native filter method. | homepage
  • arr-flatten: Recursively flatten an array or arrays. This is the fastest implementation of array flatten. | homepage
  • arr-map: Faster, node.js focused alternative to JavaScript's native array map. | homepage
  • arr-pluck: Retrieves the value of a specified property from all elements in the collection. | homepage
  • arr-reduce: Fast array reduce that also loops over sparse elements. | homepage
  • array-unique: Return an array free of duplicate values. Fastest ES5 implementation. | homepage


Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Building docs

Generate readme and API documentation with verb:

$ npm i verb && npm run docs

Or, if verb is installed globally:

$ verb

Running tests

Install dev dependencies:

$ npm i -d && npm test


Jon Schlinkert


Copyright © 2016 Jon Schlinkert Released under the MIT license.

This file was generated by verb, v0.9.0, on February 23, 2016.