# uniqs

> Tiny utility to create unions and de-duplicated lists

Latest version **2.0.0** (published 2014-06-03) · MIT license · 0 weekly downloads

## Install

```sh
npm install uniqs
pnpm add uniqs
yarn add uniqs
bun add uniqs
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.0 |
| Published | 2014-06-03 |
| First published | 2014-06-01 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 11 |
| Author | Felix Gnass |
| Maintainers | fgnass |
| Keywords | unique, uniq, dedupe, union |

## Links

- npm: https://www.npmjs.com/package/uniqs
- Repository: https://github.com/fgnass/uniqs
- Issues: https://github.com/fgnass/uniqs/issues
- npm.io page: https://npm.io/package/uniqs

## Alternatives

- [@sindresorhus/slugify](https://npm.io/package/@sindresorhus/slugify.md) — 3.7M weekly downloads
- [solid-js](https://npm.io/package/solid-js.md) — 2.7M weekly downloads
- [expo-glass-effect](https://npm.io/package/expo-glass-effect.md) — 2.5M weekly downloads
- [nanoassert](https://npm.io/package/nanoassert.md) — 780.8K weekly downloads
- [@ffmpeg/ffmpeg](https://npm.io/package/@ffmpeg/ffmpeg.md) — 529.5K weekly downloads

## Recent versions

- 2.0.0 (latest) — 2014-06-03
- 1.0.0 — 2014-06-01

## README

[![Build Status](https://travis-ci.org/fgnass/uniqs.svg?branch=master)](https://travis-ci.org/fgnass/uniqs)

### Tiny utility to create unions and de-duplicated lists.

Example:

```js
var uniqs = require('uniqs');

var foo = { foo: 23 };
var list = [3, 2, 2, 1, foo, foo];

uniqs(list);
// => [3, 2, 1, { foo: 23 }]
```

You can pass multiple lists to create a union:

```js
uniqs([2, 1, 1], [2, 3, 3, 4], [4, 3, 2]);
// => [2, 1, 3, 4]
```

Passing individual items works too:
```js
uniqs(3, 2, 2, [1, 1, 2]);
// => [3, 2, 1]
```

### Summary

* Uniqueness is defined based on strict object equality.
* The lists do not need to be sorted.
* The resulting array contains the items in the order of their first appearance.

### About

This package has been written to accompany utilities like
[flatten](https://npmjs.org/package/flatten) as alternative to full-blown
libraries like underscore or lodash.

The implementation is optimized for simplicity rather than performance and
looks like this:

```js
module.exports = function uniqs() {
  var list = Array.prototype.concat.apply([], arguments);
  return list.filter(function(item, i) {
    return i == list.indexOf(item);
  });
};
```

### License
MIT

---
_Source: https://npm.io/package/uniqs · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
